-
Notifications
You must be signed in to change notification settings - Fork 0
/
RAM内存CPU监控脚本.sh
76 lines (66 loc) · 2.65 KB
/
RAM内存CPU监控脚本.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
#!/bin/bash
while true
do
top -n 1 -b > /top.sh
echo --------------------------------------------------------
{
men1=`free -m | sed -n "2p" | awk '{print $2}'` #内存总额
men2=`free -m | sed -n "2p" | awk '{print $3}'` #内存使用
men3=`free -m | sed -n "2p" | awk '{print $4}'` #内存剩余
zong=`echo "scale=2;$men2/$men1" \* 100 | bc | awk -F. '{print $1}'`
if [ $zong -ge "90" ] ; then echo "内存hight了,就剩下$men3,M了" |mail -s "内存爆了"
fi
echo 内存总额$men1'm' 内存使用$men2'm' 内存剩余$men3'm'
}
{
swap1=`free -m | sed -n "3p" | awk '{print $2}'` #交换内存总额
swap2=`free -m | sed -n "3p" | awk '{print $3}'` #交换内存使用
swap3=`free -m | sed -n "3p" | awk '{print $4}'` #交换内存剩余
shu=`echo "scale=2;$swap2/$swap1" \* 100 | bc | awk -F. '{print $1}'`
if [ $shu -ge 90 ] ; then echo "交换内存hight了,就剩下$men3,M了" |mail -s "交换内存爆了"
fi
echo 交换内存总额$swap1'm' 交换内存使用$swap2'm' 交换内存剩余$swap3'm'
}
{
echo --------------------------------------------------------
time1=`cat /top.sh | sed -n "1p" | awk '{print $3}'` && echo 当前系统时间 $time1
time3=`cat /top.sh | sed -n "1p" | awk '{print $5}'` && echo 当前系统运行时间 $time3
time4=`cat /top.sh | sed -n "1p" | awk '{print $6}'` && echo 当前登录的用户数量 $time4
echo --------------------------------------------------------
echo CPU已使用$time2"%"
echo 系统1分钟负载情况$time5"%"
echo 系统5分钟负载情况$time6"%"
echo 系统15分钟负载情况$time7"%"
}
{
time5=`cat /top.sh | sed -n "1p" | awk '{print $12}'` #系统1分钟负载情况
#ti1=`echo "scale=2;$time5/10" | bc | awk -F. '{print $2}'`
#if [ $ti1 -ge "500" ] ; then
#echo "系统负载了" |mail -s "系统负载了"
#fi
}
{
time6=`cat /top.sh | sed -n "1p" | awk '{print $11}'` #系统5分钟负载情况
#ti2=`echo "scale=2;$time6/10" | bc | awk -F. '{print $2}'`
#if [ $ti2 -ge "500" ] ; then
#echo "系统负载了" |mail -s "系统负载了"
#fi
}
{
time7=`cat /top.sh | sed -n "1p" | awk '{print $10}'` #系统15分钟负载情况
#ti3=`echo "scale=2;$time7/10" | bc | awk -F. '{print $2}'`
#if [ $ti3 -ge "500" ] ;
#then echo "系统负载了" |mail -s "系统负载了"
#fi
}
{
time2=`cat /top.sh | sed -n "3p" | awk '{print $2}'` #CPU使用率
ti2=`echo "scale=2;$time2/100" | bc | awk -F. '{print $2}'` #将小数计算成整数
if [ $ti2 -ge "85" ] ;
then echo "CPU使用率达到80%" |mail -s "CPU使用率达到80%"
fi
}
echo --------------------------------------------------------
echo --------------------------------------------------------
sleep 2
done