[CentOS] systemd 服務關於limits配置

最近測試golang編寫的server,發現併發數增加時候常常報錯:

http: Accept error: accept tcp [::]:18888: accept4: too many open files; retrying in 1s

檢查全局limit限制發現已經修改

[root@onlyellow2 ~]# ulimit -a
.....
open files                      (-n) 88888

.....

systemctl重啓server後,查看實時limit

cat /proc/${server_pid}/limits

Limit                     Soft Limit           Hard Limit           Units     
Max cpu time              unlimited            unlimited            seconds   
...
Max open files            1024                 1024                 files     

...

發現max open files依然被限制在1024

查詢資料後確定原因:

systemctl啓動的服務,會使用systemd配置文件內的limit參數

故修改方法有兩種:

1. 修改systemd全局limit

/etc/systemd/system.conf 

2. 修改單個服務limit

[Service]
...
LimitNOFILE=88888
LimitNPROC=88888


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章