欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 创投人物 > linux间隔记录服务器的CPU占用率TOP10的进程

linux间隔记录服务器的CPU占用率TOP10的进程

2025/7/3 13:39:16 来源:https://blog.csdn.net/huaweichenai/article/details/144265596  浏览:    关键词:linux间隔记录服务器的CPU占用率TOP10的进程

一:原因

最近线上服务器上总数间隔出现CPU占用过高导致服务访问异常,查看服务运行日志和系统日志没有找到具体由哪个进程导致的,于是规划写一个间隔监控CPU占用率最高的脚本来监控是哪个进程导致的CPU过高

二:间隔记录CPU占用率TOP的sh脚本

创建一个sh脚本文件log_cpu_process.sh

#!/bin/bash# 设置日志文件
LOG_FILE="/data/log/log.log"# 设置间隔时间(秒)
SLEEP_TIME=10# 循环记录信息
while true; do# 记录当前时间戳timestamp=$(date +"%Y-%m-%d %H:%M:%S")# 使用ps命令获取CPU使用率前10的进程,并输出到日志文件ps H -eo pid,ppid,%mem,%cpu,cmd --sort=-%cpu | head -10 | awk '{print "'"$timestamp"', "$0}' >> $LOG_FILE# 休眠指定时间sleep $SLEEP_TIME
done

如上表示没间隔10秒将CPU占有率TOP10的进程信息存储到指定文件中

三:执行脚本

将log_cpu_process.sh文件执行可执行权限

chmod +x log_cpu_process.sh

运行脚本

./log_cpu_process.sh

以后台进程方式运行脚本

nohup log_cpu_process.sh > /dev/null 2>&1 &

四:现象

执行脚本后我们就可以在对应目录下看到生成的日志记录文件

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词