[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


 

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