1. 程式人生 > >文件描述符到底是誰控制的

文件描述符到底是誰控制的

-m 打開 read 正常 設置 當前 有用 釋放 threads

  • ulimit

    • ulimit -SHn 2048 更改當前session的配置,退出及失效
    • 永久生效需要修改 /etc/security/limits.conf ,其格式為:

      * soft nofile 204800  
      * hard nofile 204800  
      * soft nproc 204800  
      * hard nproc 204800  
      
      *             代表針對所有用戶   
      noproc     是代表最大進程數   
      nofile     是代表最大文件打開數 
      
      這兩個文件也需要註意一下,有時候需要一起修改
      /etc/security/limits.d/90-nproc.conf
      /etc/security/limits.d/def.conf
    • /proc/sys/fs/nr_open 也需要修改,如果上面第一條的值超過此值,則系統無法正常登陸
    • 此值為系統能夠打開的文件描述符

      vim /etc/sysctl.conf
      fs.file-max=65535
      等同於/proc/sys/fs/file-max
  • 其它相關的一些設置

    • 最大進程數

      cat /proc/sys/kernel/pid_max 
    • 最大線程數

      /proc/sys/kernel/threads-max
    • 查看當前系統使用的打開文件描述符數

      [root@localhost bin]# cat /proc/sys/fs/file-nr
      
      5664        0        186405
      其中第一個數表示當前系統已分配使用的打開文件描述符數,第二個數為分配後已釋放的(目前已不再使用),第三個數等於file-max。

    文件描述符到底是誰控制的