问题已解决。因为我是root登录的。怎么改都没效果。以其他用户登录时的确是已经修改过的。所以我是这么配置的
* - nofile 65535
root - nofile 65535
==================分割线:原问题 /ect/security/limits.conf:
* - nofile 65535
* - nproc 65535
/etc/sysctl.conf:
fs.file-max=65535
系统重启后。ulimit -a max open files仍然是1024
如果这个问题是发生在SSH session里的话,那么可能是SSH服务器没有配置为使用PAM (UsePAM yes)而导致。
/etc/security/limits.conf是给pam_limits模块使用的配置文件(参考man limits.conf)。
对于SSH session来说,要使limits.conf生效,则必须确保SSH服务器的配置中UsePAM的选项是有效的。
编辑/etc/ssh/sshd_config,确认以下的行有效:
更改配置后重启SSH服务器:
顺便提两点和解决这个问题没有直接关系的:
1. 要使limits.conf的更改生效,不需要重启系统。只要重新登录就可以。
2. 一个比较笨的规避方法是在当前用户的.bashrc里加入ulimit -n 65535,:)