centos7中systemctl系统服务和资源限制故障

1,231次阅读
没有评论

共计 1438 个字符,预计需要花费 4 分钟才能阅读完成。

我们的服务器中使用了很多启动脚本为 shell 脚本,为了方便管理改为 systemctl 方式管理。
早上重启后正常,但是晚上流量高峰期间,大量用户无法链接服务器。
查看服务器进程日志出现大量报警日志。
后经过大佬排查。发现是因为 systemctl 启动的进程没有遵循 limits 资源限制,导致到达 systemctl 默认限定值后无法加载更多文件!

[root@kilig ~]# ulimit -a
core file size          (blocks, -c) unlimited
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 15082
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 102400
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 102400
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

对比进程启动 limits

[root@kilig ~]# cat /proc/1024/limits 
Limit                     Soft Limit           Hard Limit           Units     
Max cpu time              unlimited            unlimited            seconds   
Max file size             unlimited            unlimited            bytes     
Max data size             unlimited            unlimited            bytes     
Max stack size            8388608              unlimited            bytes     
Max core file size        unlimited            unlimited            bytes     
Max resident set          unlimited            unlimited            bytes     
Max processes             1024               1024              processes 
Max open files            1024           1024               files     
Max locked memory       8048                   8048              bytes     
Max address space         unlimited            unlimited            bytes     
Max file locks            unlimited            unlimited            locks     
Max pending signals       1508                1508                signals   
Max msgqueue size         8192               8192              bytes     
Max nice priority         0                    0                    
Max realtime priority     0                    0                    
Max realtime timeout      unlimited            unlimited            us      

发现明显差异
解决办法加上 LimitNOFILE LimitNOFILE LimitNOFILE 指定参数即可

[Unit]
Description=kilig.systemctl

[Service]
LimitNOFILE=infinity
LimitNOFILE=102400
LimitNOFILE=102400
WorkingDirectory=xxxxxxx
ExecStart=xxxxxxxxxxxxxx
ExecStopPost=xxxxxxxxxxxxxxxxxxxxxx
Restart=always

微信扫描下方的二维码阅读本文

正文完
 0
yx
版权声明:本站原创文章,由 yx 于2019-11-20发表,共计1438字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)
验证码

bttech

文章搜索
一言一句话
-「
随机文章
k8s安装chatwoot后配置邮件报超时问题

k8s安装chatwoot后配置邮件报超时问题

k8s 安装好 chathoot 后配置好了邮件的相关变量 官方配置示例 SMTP_ADDRESS: ""SM...
MacBook Pro M4 关闭swap

MacBook Pro M4 关闭swap

Swap 是将磁盘虚拟为内存来用的,所以速度肯定比不上扎扎实实的内存的。我是 16G 内存,对于我平时使用完全...
ubuntu20安装部署comfyui脚本

ubuntu20安装部署comfyui脚本

基础环境参考上一篇文章安装基本的驱动 这个使用的曲线较高,有一定的学习成本。脚本如下直接使用即可! 微信扫描下...
ubuntu20 TeslaT4 安装stable diffusion-webui

ubuntu20 TeslaT4 安装stable diffusion-webui

升级系统 执行 nvidia-smi 查看是否安装了相关驱动 如果执行 nvidia-smi 没有相关命令就需...
elasticsearch7.8.0索引备份到阿里云oss以及恢复

elasticsearch7.8.0索引备份到阿里云oss以及恢复

背景需求,阿里云新建了一套 elk 但是数据需要进行迁移备份, 解决方案使用 logstash 迁移很慢,10...