CPU瞬时冲高自动监测打印进程栈信息和线程ID脚本
2023-12-21 17:34:08
背景:
1.生产环境某个应用CPU偶发瞬时冲高情况,每次持续2-5分钟,运维人员来不及立马定位原因
2.pod应用,没有添加到集成监控系统中,需要自己想办法监测
3.pod应用中不让安装crontab工具
脚本内容如下:
#!/bin/bash
while [ true ]
do
cpu=$(top -bn 1| sed -n '3p'|awk '{print $2}')
echo "$(date '+%Y%m%d%H%M%S'): 间隔10s检索CPU情况,CPU=$cpu"
if [[ `expr $cpu \> 60` == 1 ]]; then
echo "cpu surge, find process, cpu=$cpu"
PACPU=($(top -bn 1|grep java| sed -n '1,5p'|awk '{print $1,$9}'))
echo "${PACPU[*]}"
len=${#PACPU[*]}
for ((i=0;i<$len;i+=2))
do
pid=${PACPU[$i]}
tids=($(top -bn 1 -p $pid -H|sed -n '8,12p'|awk '{print $1}'))
cpu=${PACPU[$i+1]}
file=$pid-$(date '+%Y%m%d%H%M%S'
文章来源:https://blog.csdn.net/yfxuchao/article/details/135133771
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!