BlueXIII's Blog

热爱技术,持续学习

0%

systemd下ulimit调整

全局配置

1
2
3
4
5
vi /etc/systemd/system.conf 

DefaultLimitCORE=infinity
DefaultLimitNOFILE=10000
DefaultLimitNPROC=10000

注意system.conf修改后需要重启系统才会生效。

服务方式

需要修改systemd服务配置

以httpd.service为例:

1
2
3
4
5
6
7
8
9
10
11
cd /etc/systemd/system
mkdir httpd.service.d

vi limits.conf
[Service]
LimitNOFILE=20000

cat /etc/systemd/system/httpd.service.d/limits.conf

systemctl stop httpd
systemctl start httpd

注意,重启服务时要先stop再start,不要restart

手工启动进程方式

可以在启动脚本之前加入ulimit命令手工指定
以netcat为例:

1
2
3
4
vi start.sh

ulimit -n 20000
while true;do { printf '%b\r\n' 'HTTP/1.1 200 OK' '%b\r\n';cat index.html; }|nc -l 8080;done

验证

1
cat /proc/进程号/limits