使用Systemd管理服務的,均可使用此方法。
在 /usr/lib/systemd/system/xxx.service中,添加如下內容即可:
[Service] # Other directives omitted # (file size) LimitFSIZE=infinity # (cpu time) LimitCPU=infinity # (virtual memory size) LimitAS=infinity # (locked-in-memory size) LimitMEMLOCK=infinity # (open files) LimitNOFILE=64000 # (processes/threads) LimitNPROC=64000
具體各項的含義,可查看ulimit命令的文檔。
查看某個進程的資源限制,可使用如下命令,其中{pid}指的是該進程的pid,可以通過ps -ef|grep xxx獲得:
cat /proc/{pid}/limits
注意:修改ulimit后,需要重啟進程才能生效。