zoukankan      html  css  js  c++  java
  • linux limits研究

    ----------------------------------------------------------------------------------------------------------------------------------------------------------------------

    一、

     

    soft nproc 与 soft nofile

    cat >>/etc/security/limits.conf<<eof
    * soft nproc 65535
    * hard nproc 65535
    * soft nofile 65535
    * hard nofile 65535

    eof

    soft nproc: 可打开的文件描述符的最大数(软限制)

    hard nproc: 可打开的文件描述符的最大数(硬限制)

    soft nofile:单个用户可用的最大进程数量(软限制)

    hard nofile:单个用户可用的最大进程数量(硬限制)

    ----------------------------------------------------------------------------------------------------------------------------------------------------------------------

    二、

    在Linux下面部署应用的时候,其实Linux是有文件句柄限制的,而且默认不是很高,一般都是1024,作为一台生产服务器,其实很容易就达到这个数量,因此我们需 要把这个值改大一些。
    这里,有很多ulimit的文章都说的很含糊,究竟这个1024 是系统的限制,还是用户的限制呢。其实,这个是用户限制来的,完整的说法,应该是当前用户准备要运行的程序的限制。
     
    1、这个限制是针对单个程序的限制
    2、这个限制不会改变之前已经运行了 的程序的限制
    3、对这个值的修改,退出了当前的shell就会消失
     
    比如说,我先运行了一个程序A,然后 通过ulimit修改了限制为2048,然后运行B,然后退出了shell再登录,然后运行C。那就只有B可以打开2048个句柄。
    其中一个方法,是想ulimit修改命令放入/etc/profile 里面,但是这个做法并不好
    正确的做法,应该是修改/etc/security/limits.conf
     
    那系统总限制呢===========>
    其实是在这里,/proc/sys/fs/file-max
    可以通过cat查看目前的 值,echo来立刻修改

    另外还有一个,/proc/sys/fs/file-nr
    只读,可以看到整个系统目前使用的文 件句柄数量
     
    查找文件句柄问题的时候,还有一个很 实用的程序lsof
    可以很方便看到某个进程开了那些句柄
    也可以看到某个文件/目录被什么进程 占用了

    临时生效配置命令=============>ulimit -HSn 65535

    ----------------------------------------------------------------------------------------------------------------------------------------------------------------------

    三、

    linux limits.conf 配置

    limits.conf 文件实际是 Linux PAM(插入式认证模块,Pluggable Authentication Modules)中 pam_limits.so 的配置文件,而且只针对于单个会话。

      limits.conf的格式如下:
      username|@groupname type resource limit
      username|@groupname:设置需要被限制的用户名,组名前面加@和用户名区别。也可以用通配符*来做所有用户的限制。
      type:有 soft,hard 和 -,soft 指的是当前系统生效的设置值。hard 表明系统中所能设定的最大值。soft 的限制不能比har 限制高。用 - 就表明同时设置了 soft 和 hard 的值。
      resource:
      core - 限制内核文件的大小
      date - 最大数据大小
      fsize - 最大文件大小
      memlock - 最大锁定内存地址空间
      nofile - 打开文件的最大数目
      rss - 最大持久设置大小
      stack - 最大栈大小
      cpu - 以分钟为单位的最多 CPU 时间
      noproc - 进程的最大数目
      as - 地址空间限制
      maxlogins - 此用户允许登录的最大数目
      要使 limits.conf 文件配置生效,必须要确保 pam_limits.so 文件被加入到启动文件中。查看 /etc/pam.d/login 文件中有:
      session required /lib/security/pam_limits.so
     
    例如:修改文件描述符大小(65536)
    vi  /etc/security/limits.conf
     
    *                               soft    nofile  65536
    *                               hard    nofile  65536

    ----------------------------------------------------------------------------------------------------------------------------------------------------------------------

  • 相关阅读:
    H50055:html 页面加载完后再加载js文件 ,url带有时间戳后缀
    H50054:html 页面自动刷新 http-equiv属性
    WebGL_0015:参数值在一定范围内循环变化
    H50053:switch 判断范围
    WebGL_0014:改变相机的刷新颜色
    WebGL_0013:JQuery获取json文件 读取数据
    WebGL_0012:三维讲解导航模板 Icon方式
    H50052:按钮 禁止 选择 拖拽 右键
    滑动窗口的最大值(队列)
    MapReduce程序编写过程
  • 原文地址:https://www.cnblogs.com/itcomputer/p/4709789.html
Copyright © 2011-2022 走看看