修改linux最大打开文件数限制

Linux 2017-10-11

起步

linux会为每个用户登录系统打开最大文件数都有限制, 这个限制通过 ulimit -n 可以看到, 一般是 1024 .

在一些并发或多线程情况下, 需要突破这个限制.

修改

第一步 编辑 /etc/security/limits.conf 并确保其包含下列行:

* soft nofile 65535
* hard nofile 65535

这里 * 表示所有用户, 但有的系统不认, 需要具体的用户名, 比如:

root soft nofile 65535
root hard nofile 65535

第二步 编辑 etc/pam.d/login , 确保有如下行:

session    required   pam_limits.so

第三步 退出终端重新登录.

验证

使用 ulimit -Hnulimit -Sn 命令可以分别查看当前进程用户的 hard 和 soft 的限制数.

或者当前用户启动某个程序后, 通过 cat /proc/<PID>/limits (pid是该进程的, 或者其随便一个子进程的pid)


本文由 hongweipeng 创作,采用 知识共享署名 3.0,可自由转载、引用,但需署名作者且注明文章出处。

如果对您有用,您的支持将鼓励我继续创作!