Linux Linux下最大文件描述符设置

简介: Linux Linux下最大文件描述符设置

Linux下最大文件描述符设置


 

1.  系统可打开最大文件描述符设置

查看系统可打开最大文件描述符

# cat /proc/sys/fs/file-max

65535

 

说明:

所有进程打开的文件描述符数不能超过/proc/sys/fs/file-max

 

查看当前系统使用的打开文件描述符数

# cat /proc/sys/fs/file-nr

1280    0 0 113986

 

说明:第一个数表示当前系统已分配的文件描述符数(文件句柄数),第二个数为分配后已释放的文件描述符数(当前不再使用的文件描述符数),第三个数为最大文件描述符数,等于file-max

 

 

配置可打开最大文件描述符

a)永久配置

# vim /etc/sysctl.conf

 

在文件尾添加如下内容(假设目标大小为65535):

fs.file-max=65535

 

确保配置立即生效,执行以下命令

# sysctl -p

 

b)临时配置

# echo 65530 > /proc/sys/fs/file-max

# sysctl fs.file-max  #查看

fs.file-max = 65530

 

或者

# sysctl -w fs.file-max=65531

 

注:临时配置,重启后就失效了

 

2.  进程可打开最大文件描述设置

查看进程可打开最大文件描述符: soft nofile

# ulimit -n

65535

 

配置进程可打开最大文件描述符

a)永久配置

添加带背景色内容

# vim /etc/security/limits.conf

……(略)

#@student        -       maxlogins       4

* - nofile 65535

# End of file

 

或者如下

# vim /etc/security/limits.conf

……(略)

#@student        -       maxlogins       4

* soft nofile 65535

* hard nofile 65535

# End of file

 

说明:

1- nofile 65535表示同时配置soft limithard limit

2、只能在hard limit范围内修改soft limit。如上,表示进程可打开最大文件描述符数的soft limit65535hard limit65535

3、需要注销重新登录配置才会生效

4/proc/sys/fs/nr_open是单个进程可分配的最大文件数,所以在我们使用ulimitlimits.conf来配置hard limit时,如果设置的值超过/proc/sys/fs/nr_open默认值1048576需要先增大nr_open值(# vim /etc/sysctl.conf,文件末尾添加nr_open,形如fs.nr_open=100000000000

5、对于非root用户只能设置比原来小的hard limit

4.   总结:

b.   单个进程打开的文件描述符数不能超过user limitnofilesoft limit

c.    nofilesoft limit不能超过其hard limit

d.    nofilehard limit不能超过/proc/sys/fs/nr_open

目录
相关文章
|
1月前
|
监控 Oracle 关系型数据库
Linux平台Oracle开机自启动设置
【11月更文挑战第8天】在 Linux 平台设置 Oracle 开机自启动有多种方法,本文以 CentOS 为例,介绍了两种常见方法:使用 `rc.local` 文件(较简单但不推荐用于生产环境)和使用 `systemd` 服务(推荐)。具体步骤包括编写启动脚本、赋予执行权限、配置 `rc.local` 或创建 `systemd` 服务单元文件,并设置开机自启动。通过 `systemd` 方式可以更好地与系统启动过程集成,更规范和可靠。
120 2
|
1月前
|
Oracle Ubuntu 关系型数据库
Linux平台Oracle开机自启动设置
【11月更文挑战第7天】本文介绍了 Linux 系统中服务管理机制,并详细说明了如何在使用 systemd 和 System V 的系统上设置 Oracle 数据库的开机自启动。包括创建服务单元文件、编辑启动脚本、设置开机自启动和启动服务的具体步骤。最后建议重启系统验证设置是否成功。
|
1月前
|
关系型数据库 MySQL Linux
Linux系统如何设置自启动服务在MySQL数据库启动后执行?
【10月更文挑战第25天】Linux系统如何设置自启动服务在MySQL数据库启动后执行?
124 3
|
2月前
|
Ubuntu Linux
Linux实践|设置静态 IP 地址
Linux实践|设置静态 IP 地址
76 0
Linux实践|设置静态 IP 地址
|
2月前
|
Linux 应用服务中间件 nginx
Linux下权限设置之suid、sgid、sticky
Linux下权限设置之suid、sgid、sticky
|
3月前
|
NoSQL Linux Redis
Linux Redis 服务设置开机自启动
【9月更文挑战第2天】在 Linux 系统中,可使用两种方法设置 Redis 开机自启动:一是通过创建 `redis.service` 文件并利用 systemd 进行管理,包括定义服务参数和启动脚本;二是编辑 `/etc/rc.local` 文件,在其中添加启动命令。推荐使用 systemd 方法,因为它更符合现代 Linux 系统的设计理念。设置完成后,可通过 `sudo systemctl status redis.service` 检查服务状态。
559 3
|
4月前
|
图形学 开发者 存储
超越基础教程:深度拆解Unity地形编辑器的每一个隐藏角落,让你的游戏世界既浩瀚无垠又细节满满——从新手到高手的全面技巧升级秘籍
【8月更文挑战第31天】Unity地形编辑器是游戏开发中的重要工具,可快速创建复杂多变的游戏环境。本文通过比较不同地形编辑技术,详细介绍如何利用其功能构建广阔且精细的游戏世界,并提供具体示例代码,展示从基础地形绘制到植被与纹理添加的全过程。通过学习这些技巧,开发者能显著提升游戏画面质量和玩家体验。
199 3
|
3月前
|
Linux Shell
10-8|linux date设置时间
10-8|linux date设置时间
|
3月前
|
Unix Linux Python
Cron定时设置在linux和mac中的使用
文章详细说明了如何在Linux和Mac操作系统中使用Cron进行定时任务的设置,并提供了多个Cron表达式的实例。
45 0
|
4月前
|
Linux 网络安全
在Linux中,如何设置防火墙规则?
在Linux中,如何设置防火墙规则?