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 ?

发表评论

扩容/dev/mapper/pve-root

.执行 parted /dev/sdq 输入 print 找到要扩容的盘,应该是/dev/sdq3,检查大小 resizepart 3 100% quit 再检查大小 退出parted 更新物理卷的大小,当然这里前提是使用了LVM pvresize /dev/sda3 lvdis...