星期一, 12月 21, 2009

[linux] Too many open files

想知道自己某個程式的開啟檔案數,可以用以下的指令察看:

lsof -p [pid of your process] | wc -l

如果想調大檔案開啟數,可以調整fs.file-max這個核心參數。如果memory夠大,可以將此值加大到65536,或是更大:調整的方式:

在/etc/rc.local中加入echo 65536 > /proc/sys/fs/file-max

或是

在sysctl.conf中加入fs.file-max=65536

不過單修改核心參數只能加大系統核心的上限,Linux本身還有針對每個user的每個程式本身的限制,因此還需要編輯/etc/security/limits.conf,並加入

* soft nofile 4096
* hard nofile 4096

修改完畢之後,重新開機即可!

沒有留言:

張貼留言