主页 > 知识库 > Linux shell脚本实现CPU预警

Linux shell脚本实现CPU预警

热门标签:呼叫中心市场需求 AI电销 地方门户网站 Linux服务器 服务外包 网站排名优化 铁路电话系统 百度竞价排名

如果CPU占用率持续达到80以上则调用打印java线程占用率堆栈的脚本,见https://github.com/oldratlee/useful-shells/blob/master/show-busy-java-threads.sh,具体用法见他的github wiki!

#!/bin/bash
#cpu idle percent
cpu_idle=`top -b -d 1 -n 2 | grep Cpu | awk 'NR>1{print $5}' | cut -f 1 -d "."`
 
if [ -d "/opt/scripts/log" ]
then
  cd /opt/scripts
else
  mkdir /opt/scripts/log
fi
 
count=0
condition=true
while condition
do
    if [ $cpu_idle -le 20 ]
    then
      pids=`top -b -d 1 -n 1 | grep java | awk '{if($9 > 80) print $1}'`
      for ((a = 1; a  10; a++))
      do
       for pid in $pids
       doi
         #involve jdk existence check later
         date=`date +%Y%m%d%H%M`
         sh showstack.sh -c 30 -p $pid > log/stack_$pid_$date.log
         jstat -gcutil $pid > log/gc_$pid_$date.log
       done
      done
      for pid in $pids
      do
       date=`date +%Y%m%d%H%M`
       jmap -heap $pid > log/heap_$pid_$date.log
      done
      count++
      cpu_idle=`top -b -d 1 -n 2 | grep Cpu | awk 'NR>1{print $5}' | cut -f 1 -d "."`
      if [ $count -ge 3]
      then
       #send emaili
       #server ip address
       ip=`ifconfig eth0 | grep "inet addr" | cut -f 2 -d ":" | cut -f 1 -d " "`
       condition=false
       count=0
      fi
    else
      condition=false
      count=0
    fi
done

以上所述就是本文给大家分享的全部内容了,希望大家能够喜欢。

您可能感兴趣的文章:
  • linux查看cpu是否支持64位的方法
  • linux php-cgi.exe占用cpu 100%的一次排障之旅
  • Linux中使用Shell脚本查看Java线程的CPU使用情况
  • linux vps服务器进程kswapd0与events/0消耗大量CPU的问题
  • linux使用管道命令执行ps获取cpu与内存占用率
  • linux系统使用python获取cpu信息脚本分享
  • 使用python获取CPU和内存信息的思路与实现(linux系统)
  • Linux2.6对新型CPU的支持
  • Linux 查看cpu 信息的命令及简单实例

标签:兰州 湖南 仙桃 衡水 湘潭 铜川 崇左 黄山

巨人网络通讯声明:本文标题《Linux shell脚本实现CPU预警》,本文关键词  ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266