2024年1月8日

Linux修改打开文件数量和进程数量限制的方法

作者 高劲松

方法一:使用ulimit命令
ulimit命令可用来增加在shell中打开文件的数量。

这个命令是系统内置命令,因此它只影响bash和从它启动的程序。

ulimit -n 65535

方法二:使用PAM模块
最好通过名为pam_limits的PAM模块实现这种限制。

需要通过编辑/etc/security/limits.conf文件来配置它。

vim /etc/security/limits.conf

  • hard nofile 20000
  • soft nofile 15000
  • soft nproc 65535
  • hard nproc 65535
    登录后复制
    之后,需要编辑文件/etc/pam.d/login配置文件,在最后添加以下一条内容:

vim /etc/pam.d/login
登录后复制
session required pam_limits.so
登录后复制

保存文件。然后退出登录,或者重启系统。可以看到软限制和硬限制的值都修改成功了。

方法三
查看系统最大打开文件描述符数量:
[root@localhost ~]# cat /proc/sys/fs/file-max
180965

临时设置该值:
[root@localhost ~]# echo “1000000” > /proc/sys/fs/file-max

在Linux中修改打开文件数量限制的3种方法在Linux中修改打开文件数量限制的3种方法

永久性设置,需要在/etc/sysctl.conf中设置,并让它生效:
[root@localhost ~]# echo “fs.file-max = 1000000” >> /etc/sysctl.conf
[root@localhost ~]# sysctl -p
fs.file-max = 1000000