歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> 關於Linux

Linux最大打開文件描述符數

Linux最大打開文件描述符數   1.    系統最大打開文件描述符數:/proc/sys/fs/file-max a.    查看 $ cat /proc/sys/fs/file-max 186405 2. 設置 a.    臨時性 # echo 1000000 > /proc/sys/fs/file-max 2.    永久性:在/etc/sysctl.conf中設置 fs.file-max = 1000000   2.    進程最大打開文件描述符數:user limit中nofile的soft limit a.    查看 $ ulimit -n 1700000 2. 設置 a.    臨時性:通過ulimit -Sn設置最大打開文件描述符數的soft limit,注意soft limit不能大於hard limit(ulimit -Hn可查看hard limit),另外ulimit -n默認查看的是soft limit,但是ulimit -n 1800000則是同時設置soft limit和hard limit。對於非root用戶只能設置比原來小的hard limit。 查看hard limit: $ ulimit -Hn 1700000 設置soft limit,必須小於hard limit: $ ulimit -Sn 1600000 2.    永久性:上面的方法只是臨時性的,注銷重新登錄就失效了,而且不能增大hard limit,只能在hard limit范圍內修改soft limit。若要使修改永久有效,則需要在/etc/security/limits.conf中進行設置(需要root權限),可添加如下兩行,表示用戶chanon最大打開文件描述符數的soft limit為1800000,hard limit為2000000。以下設置需要注銷之後重新登錄才能生效: chanon           soft    nofile          1800000 chanon           hard   nofile          2000000 設置nofile的hard limit還有一點要注意的就是hard limit不能大於/proc/sys/fs/nr_open,假如hard limit大於nr_open,注銷後無法正常登錄。可以修改nr_open的值: # echo 2000000 > /proc/sys/fs/nr_open   3.    查看當前系統使用的打開文件描述符數 [root@localhost bin]# cat /proc/sys/fs/file-nr 5664        0        186405 其中第一個數表示當前系統已分配使用的打開文件描述符數,第二個數為分配後已釋放的(目前已不再使用),第三個數等於file-max。   4.    總結: a.    所有進程打開的文件描述符數不能超過/proc/sys/fs/file-max b.    單個進程打開的文件描述符數不能超過user limit中nofile的soft limit c.    nofile的soft limit不能超過其hard limit d.    nofile的hard limit不能超過/proc/sys/fs/nr_open  
Copyright © Linux教程網 All Rights Reserved