文件句柄相关
先mark相关设置,待整理
lsof -p pid | wc -l
# get config ulimit -a ulimit -n # temp edit config ulimit -n 102400 ulimit -SHn 10240f
# 从硬件性能上来讲,最高能支持的句柄数 cat /proc/sys/fs/file-max
/etc/security/limits.conf
文件末尾添加
* soft nofile 102400 * hard nofile 102400
systemd service 句柄数限制
(引述) 知道在CentOS 7/RHEL 7
的系统中,使用Systemd
替代了之前的SysV
,因此 /etc/security/limits.conf
的配置,只适用于通过PAM认证登录用户的资源限制,它对systemd
的service
的资源限制不生效。
对于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
用户实例使用的,一般的service
使用system.conf
中的配置即可;此外注意,systemd.conf.d/*.conf
中配置会覆盖 system.conf
打开/etc/systemd/system.conf
在文末添加如下内容,数字部分是数量上限,可以根据自己的需要修改,保存已修改的 system.conf
重启系统生效。
DefaultLimitCORE=infinity DefaultLimitNOFILE=102400 DefaultLimitNPROC=102400
针对单个Service
也可以设置,以这次遇到报错的程序V2Ray为例,打开 /etc/systemd/system/v2ray.service
在文中的[Service]
下方,添加如下内容
LimitCORE=infinity LimitNOFILE=102400 LimitNPROC=102400
systemctl daemon-reload
systemctl restart v2ray.service
参考文章: https://wangejiba.com/3827.html