2020年6月11日星期四

高并发时Socket句柄数的修改

一般情况下:

修改
/etc/security/limits.conf
  1. * soft nofile 655360
  2. * hard nofile 655360


然后打开/etc/profile在文件末尾添加
ulimit -SHn 655360



另外情况:

Systemd替代了之前的SysV,因此 /etc/security/limits.conf的配置,只适用于通过PAM认证登录用户的资源限制,它对systemdservice的资源限制不生效。

全局限制

对于systemd service的资源限制,全局的配置放在文件/etc/systemd/system.conf/etc/systemd/user.conf ,同时也会加载两个对应的目录中的所有.conf文件/etc/systemd/system.conf.d/*.conf /etc/systemd/user.conf.d/*.conf

其中system.conf是系统实例使用的user.conf用户实例使用的,一般的evice使用system.conf中的配置即可;此外注意,systemd.conf.d/*.conf 中配置会覆盖 system.conf

打开/etc/systemd/system.conf在文末添加如下内容,数字部分是数量上限,可以根据自己的需要修改,保存已修改的 system.conf 重启系统生效。

  1. DefaultLimitCORE=infinity
  2. DefaultLimitNOFILE=102400
  3. DefaultLimitNPROC=102400

单个限制

针对单个Service也可以设置,打开 /etc/systemd/system目录,为要修改的服务修改相应的配置文件,在配置文件中的[Service] 下方,添加如下内容
  1. LimitCORE=infinity
  2. LimitNOFILE=688350
  3. LimitNPROC=688350

运行如下命令使修复生效。

  1. sudo systemctl daemon-reload
  2. sudo systemctl restart XXXXXX.service

1 条评论:

Zacky Travis 说...

how to set this (soft limit) on openwrt ?

发表评论

在PVE使用虚拟 USB 存储设备 + ARPL 引导 DSM

  部分内容来自: https://blog.myds.cloud/archives/synoboot-usb-image-in-pve-virtual-machine.html 虚拟机建好之后,打开配置文件 nano /etc/pve/qemu-server/100.conf ...