线上几台APACHE服务器报过三、四次open files的问题,导致服务不可用,执行ulimit -n 查看后,发现是默认的1024,找到原因所在了,就去修改下/etc/security/limits.conf吧:
* soft nofile 65535
* hard nofile 65535
- 1
- 2
重新登录系统,再次执行ulimit -n后发现,还是1024!!!WTF!!!!
百度不得其解,翻出去后又大部分都是英文,苦苦翻译半天还是没有得到答案,搭建测试环境,用相同的系统版本来测试,发现问题消失了!
然后就查各种关于linux关于open files的东西,几乎都在说是没有加入/etc/pam.d/目录下的文件没有limits.so这个库文件的原因,但是对比测试环境和线上环境,是一样的!突然想到了PAM这个东西,之前修改/etc/ssh/sshd_config这个文件的时候看到过UsePAM这个东西,但是一直没有注意是干什么用的,对比两个文件后发现,线上的UsePAM是注释掉的:
#UsePAM yes
- 1
去掉注释,重启sshd,竟然报错了,提示unsupport PAM,比较了两个环境下的openssh版本,线上的环境版本比较低,果断升级,重启 sshd服务,
重新登录,终于生效了。
时间: 2024-10-29 13:17:52