一個 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。
沒有留言:
張貼留言