CPU瞬时冲高自动监测打印进程栈信息和线程ID脚本

背景:

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').log

echo "print process pid, tids={tids\*}, cpu=cpu, file=file"

for tid in ${tids\*}

do

printf "nid=0x%x\n" tid \>\> file

done

jstack -l pid \>\> file

done

fi

sleep 10s

done

相关推荐
weixin_307779138 分钟前
Linux下ClickHouse数据仓库故障系统化诊断脚本
linux·运维·clickhouse·自动化·数据库开发
我命由我123458 小时前
Android Studio - Android Studio 自定义预览尺寸
android·java·ide·java-ee·android studio·android-studio·android runtime
咖啡八杯9 小时前
GoF设计模式——迭代器模式
java·后端·设计模式·迭代器模式
AIGS00110 小时前
企业AI落地的关键认知:向量空间JBoltAI的本体语义平台
java·人工智能·人工智能ai大模型应用
KaMeidebaby10 小时前
卡梅德生物技术快报|抗体亲和力成熟工业化调控新机制:差异性浆细胞增殖工艺优化思路
java·开发语言·人工智能·算法·机器学习·架构·spark
RisunJan11 小时前
Linux命令-rlogin(远程登录)
linux·运维
醉城夜风~12 小时前
Java详解经典算法题:接雨水(三种实现方案+原理剖析)
java·开发语言·算法
数智化转型推荐官13 小时前
2026统一身份管理系统五大发展趋势解读
java·运维·微服务
看菜鸡互13 小时前
探索用 SlideML 让大模型生成 PPT 的实验方法
java·运维
大飞记Python14 小时前
Linux命令速查手册(测试开发4年实战总结,附PDF)
linux·网络·pdf