2021年11月1日 星期一

Linux 下開啟檔案數量限制的相關指令及設定檔

在 Linux 下,萬物幾乎皆是檔案,為了建立一個網路連線,我們就會開啟一個 file descriptor。

一個 process 可以開啟的檔案數量是有限的,預設值是 1024,我們可以使用 ulimit -n 來確定。我們可以透過修改 /etc/security/limits.conf 來放寬限制,以 Ubuntu 來說,我們可以針對一般使用者來放寬限制到 10240,注意如果是要針對 root,則第一個欄位必須明確指定 root 才行。

* soft nofile 10240
* hard nofile 10240

我們也可以使用 cat /proc/PID/limits 來看某行程目前的限制設定。

另外,我們可以使用 cat /proc/sys/fs/file-max 來看 Linux kernel 允許開啟的最大數量,而使用 cat /proc/sys/fs/file-nr 可以從第一個欄位看到目前開啟的數量。

如果我們想調整這個數字,則是修改 /etc/sysctl.conf,指定 fs.file-max = XXXX。

沒有留言:

張貼留言