shell小技巧(二十三)获取cpu信息

脚本提取cpu运行信息,使用率超过30%输出警告。

#!/bin/bash

r=1

while [ $r -eq 1 ]; do

cpuinfo=$(vmstat | tail -1|awk '{print $13 " " $14 " " $15 " " $16}')

us=$(echo $cpuinfo | awk '{print $1}')

sy=$(echo $cpuinfo | awk '{print $2}')

id=$(echo $cpuinfo | awk '{print $3}')

wa=$(echo $cpuinfo | awk '{print $4}')

t=$(date +%F" "%H:%M:%S)

let total=us+sy

if [ $total -ge 30 ]; then

   echo $t " cpu alert:"$total >> ./cpualert.log

fi 

echo $t " us:"$us " sy:"$sy " id:"$id " wa:"$wa >> cpuinfo.log

sleep 10

done

总结说明:

1.脚本执行后循环往复执行,间隔10秒

2.非报警信息和报警信息分别存储

3.需要利用vmstat获取cpu信息,脚本未做软件安装包检测。(稍后单独编写这一功能)

4.vmstat关于cpu输出说明如下:

  us: 用户进程执行时间(user time)

  sy: 系统进程执行时间(system time)

  id: 空闲时间(包括IO等待时间),中央处理器的空闲时间 。以百分比表示。

  wa: 等待IO时间

发布了53 篇原创文章 · 获赞 3 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/bigwood99/article/details/105161240