标题:
linux实战(十一)----shell监控服务器性能---综合运用
[打印本页]
作者:
look_w
时间:
2019-5-11 13:55
标题:
linux实战(十一)----shell监控服务器性能---综合运用
相关命令脚本学习
获取CPU负载信息
function GetSysCPU
{
CpuIdle=`vmstat 1 5 |sed -n '3,$p'|awk '{x = x + $15} END {print x/5}' |awk -F. '{print $1}'`
CpuNum=`echo "100-$CpuIdle" | bc`
echo $CpuNum
}
vmstat 用来显示虚拟内存的信息
delay:刷新时间间隔。如果不指定,只显示一条结果。
count:刷新次数。如果不指定刷新次数,但指定了刷新时间间隔,这时刷新次数为无穷。
vmstat 1 5
表示每1秒刷新一次,取5次
sed -n '3,$p '
-n表示只打印选中的行,地址是一个数字,则表示行号;
“$"符号,表示最后一行。 '3,$'表示 第3行到最后一行,p是命令表示打印输出。
awk '{x = x + $15} END {print x/5}'
表示将每行的 第15列相加后 除以5求平均
awk -F. '{print $1}'
用.来分隔取第1列 也就是对平均数 取整的意思
CpuIdle=`vmstat 1 5 |sed -n '3,$p'|awk '{x = x + $15} END {print x/5}' |awk -F. '{print $1}'`
意思是 在vmstat 中 计算出 5秒内的CPU空闲时间平均数
CpuNum=`echo "100-$CpuIdle" | bc`
用100减去空闲时间百分比平均数 则得到 CPU的使用情况。
也就是我们求的CPU负载信息。
获取内存信息
function GetSysMem
{
Mem=`free -m | grep Mem | awk '{print $4}'`
echo $Mem
}
使用free命令查看linux系统内存使用情况:(以M为单位)
# free -m
total used free shared buffers cached
Mem: 3952 3414 538 0 168 484
-/+ buffers/cache: 2760 1191
Swap: 8191 86 8105
free -m | grep Mem | awk '{print $4} 获取剩余内存
grep Mem: 选出含有Mem的行
awk '{print $4}' 以空白作分隔,取第四列,这里对应到 free,也就是获取剩余内存。
获取交换空间信息
function GetSysSwap
{
swap_free=`free -m | grep Swap | awk '{print $4}'`
echo $swap_free
}
free -m | grep Swap | awk '{print $4} 获取剩余当前剩余的交换分区free大小
grep Swap : 选出含有Swap 的行
awk '{print $4}' 以空白作分隔,取第四列,这里对应到 free,也就是获取剩余Swap 。
获取磁盘空间信息
function GetSysSpace
{
SPACE=`df| grep -v Use | gawk '{x = x + $5} END {print x}' | sed 's/%//'`
echo $SPACE
}
df| grep -v Use | gawk '{x = x + $5} END {print x}' | sed 's/%//'
df是查询磁盘使用情况的命令
grep -v Use 去掉含有Use字符串的这一行
sed 's/%//' s就是替换符,这里表示匹配到后面含有%号的字符串取%号前面的值(也就是s位置的值)
gawk '{x = x + $5} END {print x}' 用空白分隔后取每一行的第5列 相加 得到最后值
也就是 磁盘空间的总使用百分比。
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/)
Powered by Discuz! 7.0.0