运行 12.04.3 LTS
向队列提交批处理作业的用户收到了
'too many open files error'
调查建议更改/etc/security/limits.conf
已为所有用户和 root 完成的文件,分别指定 65536 的硬限制。ulimit -a
返回 65536 的限制。此外/etc/pam.d/ common-session
,、、common-session-noninteractive
login 和 ssh 文件都已pam_limits.so
添加所需的行会话。
/proc/pid/limits
问题仍然存在,在查看使用 列出的进程文件时可以看到lsof
。这里,nofile
命令下作为 sh 列出的进程的限制仍然是软限制 1024 和硬限制 4096,这是原始系统默认值。其他进程(例如使用命令的进程)的限制grep
已更改为新的 65536 限制。
按照编写的说明,正在运行的脚本需要短时间内打开大量文件,从中收集各个条目并将其传输到另一个复合文件。故障总是发生在第 512 个文件处,这似乎表明它已达到极限。
需要进行哪些更改才能增加 sh 下的命令的限制?