問題
在使用 WRK 對應用服務進行壓測的時候,提示 "too many open files" 信息,導致無法啟動測試。
原因
CentOS 7.x 默認的打開文件數目限制為 1024,如果在使用其他軟件出現 "too many open files" 的錯誤。
解決
只需要更改 /etc/security/limits.conf 文件里面的內容,增加如下信息即可。
* soft nproc 80000
* hard nproc 80000
* soft nofile 80000
* hard nofile 80000
其中 * 代表所有用戶,你可以指定特定的用戶。
上面的 nproc 是允許創建的子進程數目,不能過大,防止 accidental fork bombs,一般 4096 比較合適
高級一點的做法:
將配置寫到 /etc/security/limits.d/nofile.conf 這種不直接寫到系統 limits 文件中,當 limits 需要升級時,不會丟失配置
另外一種做法:
在系統啟動過程中,執行一次 ulimit -SHn 65533, 比如可以寫到 /etc/rc.local 中,或者 /etc/profile 中。
