ulimit 句柄数修改
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ulimit 句柄数修改相关的知识,希望对你有一定的参考价值。
ubuntu 16.04 ulimit
最近,网站一到高峰期,CPU就会飙升到100%,但内存,IO,网络等一切正常,有可能是ulimit的问题,马上查看文件句柄数限制
ulimit -n
得到的结果是:1024,这个值对生产中的服务显得偏小。
网上给出的解决方案,大部分是直接输入
ulimit -SHn 65535 # 65535可自己根据应用调整
此法缺点很明显,一旦退出登陆,设置就失效了。
到一个正确的做法
1.打开/etc/security/limits.conf,追加:
* soft nproc 65535
* hard nproc 65535
* soft nofile 65535
* hard nofile 65535
重新启动后发现ulimit -a 普通用户已经更改为了65535 ,然后切换到root管理员账户后发现依然是1024,重启操作是第一天下午做,下面的命令是第二天配置,
2.编辑/etc/pam.d/common-session,加入一行
session required pam_limits.so
3.编辑/etc/profile,加入这个只是正对当前用户起作用,退出就没有了。
ulimit -SHn 65535
后续又在 /etc/security/limits.conf中追加一行:
root - nofile 65535
经过测试,只是对root有效,而且根据资料显示,root这个必须单独一行~
因为root 是配置在visudo 中的:类似如下展示:
root ALL=(ALL:ALL) ALL
因为在visudo
最后 在root 账号下
ulimit -n 65535,生效了。高兴了,不用再重启启动了,因为这个机器安装了200个docker容器。
然后ulimit -a 查看即可更改成功。
还有的人这样做测试,然而我并没有按照如下的方法去做。
# 修改 /etc/systemd/system.conf
DefaultLimitNOFILE=65535
DefaultLimitNPROC=65535
以上是关于ulimit 句柄数修改的主要内容,如果未能解决你的问题,请参考以下文章