CentOS Too Many Open Files 解决
问题
在使用 WRK 对应用服务进行压测的时候,提示 "too many open files" 信息,导致无法启动测试。
原因
CentOS 7.x 默认的打开文件数目限制为 1024
,如果在使用其他软件出现 "too many open files" 的错误。
解决
只需要更改 /etc/security/limits.conf
文件里面的内容,增加如下信息即可。
* soft nproc 80000
* hard nproc 80000
* soft nofile 80000
* hard nofile 80000
其中 * 代表所有用户,你可以指定特定的用户。
上面的 nproc 是允许创建的子进程数目,不能过大,防止 accidental fork bombs
,一般 4096
比较合适
高级一点的做法:
将配置写到 /etc/security/limits.d/nofile.conf
这种不直接写到系统 limits 文件中,当 limits 需要升级时,不会丢失配置
另外一种做法:
在系统启动过程中,执行一次 ulimit -SHn 65533
, 比如可以写到 /etc/rc.local
中,或者 /etc/profile
中。