linux下最大檔案描述符設定
by:授客qq:1033553122
1.
系統可開啟最大檔案描述符設定
檢視系統可開啟最大檔案描述符
# cat /proc/sys/fs/file-max
65535
說明:所有程序開啟的檔案描述符數不能超過
/proc/sys/fs/file-max
檢視當前系統使用的開啟檔案描述符數
# cat /proc/sys/fs/file-nr
1280 0 0 113986
說明:第乙個數表示當前系統已分配的檔案描述符數(檔案控制代碼數),第二個數為分配後已釋放的檔案描述符數(當前不再使用的檔案描述符數),第三個數為最大檔案描述符數,等於
file-max
。配置可開啟最大檔案描述符
a)永久配置
# vim /etc/sysctl.conf
在檔案尾新增如下內容(假設目標大小為
65535
):fs.file-max=65535
確保配置立即生效,執行以下命令
# sysctl -p
b)臨時配置
# echo 65530 > /proc/sys/fs/file-max
# sysctl fs.file-max #檢視
fs.file-max = 65530
或者# sysctl -w fs.file-max=65531
注:臨時配置,重啟後就失效了
2.
程序可開啟最大檔案描述設定
檢視程序可開啟最大檔案描述符: soft nofile
# ulimit -n
65535
配置程序可開啟最大檔案描述符
a)永久配置
新增帶背景色內容
# vim /etc/security/limits.conf
……(略)
#@student - maxlogins 4
* - nofile 65535
# end of file
或者如下
# vim /etc/security/limits.conf
……(略)
#@student - maxlogins 4
* soft nofile 65535
* hard nofile 65535
# end of file
說明:1
、- nofile 65535
表示同時配置
soft limit
和hard limit
2、只能在
hard limit
範圍內修改
soft limit
。如上,表示程序可開啟最大檔案描述符數的
soft limit
為65535
,hard limit
為65535
3、需要登出重新登入配置才會生效4、
/proc/sys/fs/nr_open
是單個程序可分配的最大檔案數,所以在我們使用
ulimit
或limits.conf
來配置hard limit
時,如果設定的值超過
/proc/sys/fs/nr_open
預設值1048576
需要先增大
nr_open
值(# vim /etc/sysctl.conf
,檔案末尾新增
nr_open
,形如fs.nr_open=100000000000)5
、對於非
root
使用者只能設定比原來小的
hard limit
。4.
總結:b.
單個程序開啟的檔案描述符數不能超過
user limit
中nofile
的soft limit
c. nofile
的soft limit
不能超過其
hard limit
d. nofile
的hard limit
不能超過
/proc/sys/fs/nr_open
修改Linux最大檔案描述符(最大檔案控制代碼數)
大家知道在linux伺服器大併發調優時,往往需要預先調優linux引數,其中修改linux最大檔案控制代碼數是最常修改的引數之一。root mongodb11 ulimit a core file size blocks,c 0 data seg size kbytes,d unlimited sc...
最大檔案開啟數
有些機器上,服務的tcp連線特別多,可能上100k 這時如果系統沒有優化好,就會出現too many open file的報錯 file max是核心可分配的最大檔案數 一般系統預設核心可分配的最大檔案數是記憶體 kb為單位 的10 左右 下面就是乙個4g的機器的資訊。cat proc sys fs...
Linux最大檔案開啟數
在linux下有時會遇到socket file can t open so many files的問題。其實linux是有檔案控制代碼限制的,而且linux預設一般都是1024 阿里雲主機預設是65535 在生產環境中很容易到達這個值,因此這裡就會成為系統的瓶頸。使用ulimit a 或者 ulim...