90) {print $1}' | tr -d -c '0-9'if [ -n "cpuus"];thentime2=cpu_us" ];then time2=cpuu​s"];thentime2_监控某个程序cpu高于90 杀掉进程">
当前位置:   article > 正文

指定线程cpu使用率超过90%监控_监控某个程序cpu高于90 杀掉进程

监控某个程序cpu高于90 杀掉进程
#!/bin/bash -
# top -n 参数指定运行次数,1代表运行一次即停止,不再等待top数据更新,使用awk指定分割符,提取>数据
while true

do

cpu_us=`top -Hp  ${1}  -bn 1 | awk -F'[" "%]+' '(NR==8)&&($9>90) {print $1}' | tr -d -c '0-9'`

if [  -n "$cpu_us" ];then
 time2=$(date "+%Y%m%d%H%M%S")
 tid=`printf "%x\n" $cpu_us`
echo "tid:$tid"
`jstack ${1}|grep "0x$tid" -A50 --color >cpu/$time2.txt`

 fi


done

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

1、需要在脚本目录新建一个cpu的文件夹用户存放jstack情况
2、启动是需要代入需要监控的进程号, nohup ./cpu.sh 12875 & 12875就是需要监控的进程,启动用户必须与监控进程启动的用户一致
3、单个线程cpu使用超过90%的时候,会在cpu的目录下生成一个以当前时间开头的txt,改txt是保存jatsck中当前线程的往下50行信息

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/124361
推荐阅读
相关标签
  

闽ICP备14008679号