千家信息网

修复消耗CPU 100% 的logrotate进程

发表于:2025-01-28 作者:千家信息网编辑
千家信息网最后更新 2025年01月28日,上周,我注意到一台NLP服务器花费大量时间来完成分析请求,其中一个CPU核心长期占用率达到100%。对比刚上线的时候,各个服务的响应速度明显要慢得多。因此,使用了系统的top和第三方的htop分别做了
千家信息网最后更新 2025年01月28日修复消耗CPU 100% 的logrotate进程

上周,我注意到一台NLP服务器花费大量时间来完成分析请求,其中一个CPU核心长期占用率达到100%。对比刚上线的时候,各个服务的响应速度明显要慢得多。

因此,使用了系统的top和第三方的htop分别做了筛查,最终定位到logrotate系统的日志分割服务出的问题。

以下记录一下具体的处理办法:

首先,执行下面的命令:

$ top

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
6479 root 20 0 413m 409m 860 R 99 40.9 927:36.64
/usr/sbin/logrotate /etc/logrotate.conf

$ tail /var/lib/logrotate/logrotate.status

//通过该状态文件得知,里面存在大量tomcat的日志处理任务,由tomcat并没有配置 自定义的日志 处理逻辑,由系统托管日志,且,tomcat的业务处理里非常大,因此,使用 logrotate需要处理的任务过多,造成CPU和磁盘非常忙。

$ ls /var/lib/logrotate/logrotate.status -lh

-rw-r--r-- 1 root root 66M Aug 24 08:18 /var/lib/logrotate/status

以上命令得到整个状态文件居然高达156M,可怕!!

然后,来处理掉这个问题吧!

1) $ ps aux|grep logrotate // 找出 logr的进程号
2) $ kill -9 进程号 // 停止logr
3) $ /usr/local/tomcat/bin/shutdown.sh // 停止tomcat
4) $ rm -rf /usr/local/tomcat/logs // 清理tomcat下的日志文件[pid也可能被放置在这里,所以,我们先停止tomcat]
5) $ rm -f /var/lib/logrotate/logrotate.status //删除logr的状态日志文件太大的日志文件也会导致其使用100%CPU
6) $ logrotate -f /etc/logrotate.conf //重建立 状态日志文件logrotate.status
7)重新启动tomcat // 一切正常

日志 文件 处理 状态 系统 服务 进程 任务 命令 问题 可怕 明显 业务 办法 时候 时间 服务器 核心 用率 磁盘 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 哪里有软件开发的兼职任务 外国的网络安全工作 工业互联网促进科技发展 广东鲲鹏服务器供应厂家 计算机网络安全挑战杯 潍坊计算机网络技术招聘 扫码共享充电宝软件开发 网络安全技术论坛开场白主持稿 江苏徐州计算机网络技术 信息系统有几个数据库 浙江格家网络技术有限融资 数据库 pk_ 中新创ntp服务器管理地址 天龙无法打开服务器列表 图片服务器实现 数据库中用户定义完整性约束 查询自己租用的服务器 画一幅网络安全警察的 网络技术认证技术专家证书 国外代理ip的服务器地址 广州分销商城软件开发多少钱 政府部门重大节日网络安全保障 移动网络安全证书怎么考 软件开发推荐的电脑配置 联众服务器有几个 王者荣耀软件开发年薪 2021中国媒体网络技术论坛 win7怎么进入服务器管理器 混沌与秩序2最新服务器 南三网络技术有限公司
0