問題: 在使用 WRK 對應用服務進行壓測的時候,提示 "too many open files" 信息,導致無法啟動測試。 原因: CentOS 7.x 預設的打開文件數目限製為 ,如果在使用其他軟體出現 "too many open files" 的錯誤。 解決: 只需要更改 文件裡面的內容,增 ...
問題
在使用 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
中。