zoukankan      html  css  js  c++  java
  • 修改 Ubuntu ulimit 限制

    最近,网站一到高峰期,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 就能看到生效了

  • 相关阅读:
    windows下git识别大小写配置
    Vim命令相关
    【Mac使用系列】【转载】十几个Mac实用工具
    【Mac使用系列】Mac锁屏及快捷键
    【Mac使用系列】常用软件及快捷键
    【Linux】Cent OS 虚拟机开机自启动配置
    【工具】使用markdown写ppt
    【产品管理】当我们在做产品时,以何种方式来表达?
    【区块链】区块链学习要点记录
    【树莓派】盒子常见问题处理办法
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13313588.html
Copyright © 2011-2022 走看看