非交互式会话中 sh 命令的 nofile 限制未改变

非交互式会话中 sh 命令的 nofile 限制未改变

运行 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-noninteractivelogin 和 ssh 文件都已pam_limits.so添加所需的行会话。

/proc/pid/limits问题仍然存在,在查看使用 列出的进程文件时可以看到lsof。这里,nofile命令下作为 sh 列出的进程的限制仍然是软限制 1024 和硬限制 4096,这是原始系统默认值。其他进程(例如使用命令的进程)的限制grep已更改为新的 65536 限制。

按照编写的说明,正在运行的脚本需要短时间内打开大量文件,从中收集各个条目并将其传输到另一个复合文件。故障总是发生在第 512 个文件处,这似乎表明它已达到极限。

需要进行哪些更改才能增加 sh 下的命令的限制?

相关内容