Too many open files

最近當tester…發現當tester很辛苦…
今天有大半天的時間都卡在某個測試的最後一個步驟,測試用虛擬系統去跑,記憶體加到極限,大約2.5G。每到最後步驟還是常常當機,上禮拜遇到的狀況是空間不夠,linux還ok,加掛一個磁碟上去解決,但也花掉半天時間。

搞了很久確定整套工具會在最後一個步驟發生"too many open files"的錯誤(例外),然後整個java虛擬機器就掛點,屢試不爽…一般user要把java VM搞掛不是很容易的事情耶~而Kirin一天就不知道多少次。

剛剛回來問咕狗才知道linux系統核心的檔案開啟量也有限制,參考下面的命令:

echo 4096> /proc/sys/fs/file-max
echo 8192> /proc/sys/fs/inode-max

從這邊可以知道file-max是可以設定滴~

不過,在五點的時候發現,這不是原因,原來大陸人的source code不能直接co來用…*愧*
最後步驟還是有錯,至少…不會當機了~

另外,要真正增加process可以開啟的檔案數量,系統必須使用下面這個指令:

需要有root權限
ulimit -n 4096