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 句柄数修改的主要内容,如果未能解决你的问题,请参考以下文章

修改RedHat 7.2 进程最大句柄数限制

句柄数过高分析

linux 修改普通用户 openfiles限制

linux 修改普通用户 openfiles限制

【ulimit】Centos 7 中的ulimit -HSn 65535 对进程的文件句柄限制不生效??

linux之Too many open files问题-修改linux最大文件句柄数