修改Ubuntu的ulimit文件句柄数限制
最近,网站服务器CPU经常就会飙升到100%,但内存,IO,网络等一切正常,今天忽然想起有可能是ulimit的问题,马上查看文件句柄数限制
1.查看系统中文件上限可数用如下命令:
ulimit -n
得到的结果是:1024,系统默认为这个值。
如何对这个值进行修改呢?以下给出方法:
第一:
ulimit -SHn 102400 # 102400可自己根据应用调整
此法缺点很明显,一旦退出登陆立即失效。
下面给出正确的解决办法:
1.打开/etc/security/limits.conf,找到如下设置(如果没有就插入)
修改Ubuntu的ulimit文件句柄数限制
最近,网站服务器CPU经常就会飙升到100%,但内存,IO,网络等一切正常,今天忽然想起有可能是ulimit的问题,马上查看文件句柄数限制
1 | ulimit -n |
得到的结果是:5120,这个值对生产中的服务显得偏小。
网上给出的解决方案,大部分是直接输入
1 | ulimit -SHn 102400 # 102400可自己根据应用调整 |
此法缺点很明显,一旦退出登陆立即失效。
下面给出正确的解决办法:
1.打开/etc/security/limits.conf,找到如下设置(如果没有就插入)
1 2 | * soft nofile 102400 * hard nofile 102400 |
重新登录查看是否生效。若未生效,请继续深入~
2.编辑/etc/pam.d/su,取消如下行注释
1 | session required pam_limits.so |
重新登录查看是否生效。若未生效,请继续深入~
3.编辑/etc/profile,加入一行
1 | ulimit -SHn 102400 |
重启服务器,再次登陆,查看句柄数,已经正确设置为102400。
重新登录查看是否生效。若未生效,请继续深入~
2.编辑/etc/pam.d/su,取消如下行注释
session required pam_limits.so
重新登录查看是否生效。若未生效,请继续深入~
3.编辑/etc/profile,加入一行ulimit-SHn 102400
重启服务器,再次登陆,查看句柄数,已经正确设置为102400。