Linux-CentOS 最大開啟檔案數和程式數

郎涯工作室發表於2020-12-04

Linux 系統對開啟檔案數和程式數有限制,預設限制為1024,它是一種簡單有效的實現資源限制的方式。但當單程式的併發量較大時,1024的限制很容易超標,報告 too many open files 的錯誤。為了讓系統能夠支援更大的併發,就需要修改預設的限制數。

1、檢視最大開啟檔案數

ulimit -n

可以通過 ulimit -a檢視更多的系統限制值

2、修改最大檔案數與程式數

終端可以通過執行 ulimit -HSn 10240命令的方式臨時生效,這裡介紹永久生效的方法

修改 limits.conf

修改/etc/security/limits.conf檔案,檔案尾部增加以下配置

* soft nofile 655350 
* hard nofile 655350
* soft nproc  655350
* hard nproc  655350
* soft core   unlimited
* hard core   unlimited

重啟伺服器後,再通過ulimit -n檢視是否生效

systemd 生效

如果使用systemd自啟動服務,在高版本的CentOS等系統中,可能沒有生效,此時需要進一步修改:

修改/etc/systemd/system.conf/etc/systemd/user.conf檔案,檔案尾部增加以下配置:

DefaultLimitCORE=infinity
DefaultLimitNOFILE=655350
DefaultLimitNPROC=655350

執行 systemctl daemon-reload命令,讓配置檔案即時生效

相關文章