修改 Ubuntu ulimit 限制
修改 Ubuntu ulimit 限制
今幕明 发表于3年前
修改 Ubuntu ulimit 限制
  • 发表于 3年前
  • 阅读 2984
  • 收藏 3
  • 点赞 0
  • 评论 4

腾讯云实验室 1小时搭建人工智能应用,让技术更容易入门 免费体验 >>>   

最近,网站一到高峰期,CPU就会飙升到100%,但内存,IO,网络等一切正常,Google了一下,有可能是ulimit的问题,马上查看文件句柄数限制
ulimit -n
得到的结果是:1024,这个值对生产中的服务显得偏小。
网上给出的解决方案,大部分是直接输入
ulimit -SHn 51200 # 51200可自己根据应用调整
此法缺点很明显,一旦退出登陆,设置就失效了。
也有说直接把该命令写到/etc/rc.d/rc.local中的,今天找到一个正确的做法
1.打开/etc/security/limits.conf,里面有很详细的注释,找到如下设置(如果没有就插入)
* soft nofile 51200 
* hard nofile 51200
2.编辑/etc/pam.d/common-session,加入一行
session required pam_limits.so
3.编辑/etc/profile,加入
ulimit -SHn 51200
重启服务器,再次登陆,查看句柄数,已经正确设置为51200。
如果有碰到类似情况,可以检查一下看看是不是文件句柄数设置太小引起的。


对于nginx中有二种改法:

1.nginx配置级别:

user www www;

worker_processes 4;

worker_rlimit_nofile 65535;

error_log logs/nginx_error.log crit;

events

{

  use epoll;

  worker_connections 10240;

}

2.系统级别:

vi /etc/security/limits.conf

...

* soft nofile 65535

*hard nofile 65535


ulimit -n

65535 



############################

先说解决方案:

sudo vi /etc/pam.d/su
 
增加pam_limits.so模块引用
session    required   pam_limits.so
 
而后设置账号对应的打开文件数限制,建议为 * (所有账户)
 
编辑  sudo vi /etc/security/limits.conf  文件
 
*       soft  nofile   4084                                                      
*       hard  nofile   4084
 

ok了,reboot一下吧,然后通过  ulimit -a 就能看到生效了



共有 人打赏支持
粉丝 44
博文 219
码字总数 39350
评论 (4)
appjack
有不重启的方法吗?
今幕明

引用来自“appjack”的评论

有不重启的方法吗?

我也在找
appjack
我已试,CentOS改完,ssh重新登录就好,无需重启。最近服务器CPUY有时候也会标高,不知道有效果没。
今幕明

引用来自“appjack”的评论

我已试,CentOS改完,ssh重新登录就好,无需重启。最近服务器CPUY有时候也会标高,不知道有效果没。

我用的是虚拟机,ubuntu-server,root改完可用,但没测重启,希望这方面多多交流
×
今幕明
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: