本文已参与 ⌈新人创作礼⌋ 活动,一起开启掘金创作之路
Linux操作系统资源监控命令汇总
内存使用率监控:
echo "Mem:`free -m | awk 'NR==2{printf "%.2f%%\t\t", $3*100/$2 }'`"
注:
free -m 是用于显示已使用和空闲内存的命令,输出如下;将total与used做运算后可计算去内存使用情况
printf "%.2f%%\t\t"作用是格式化数据显示方式,以%方式显示。
CPU使用率监控:
sar | grep Average | awk '{ printf "%.2f%%\t\t\n", 100-$NF }'
sar | tail -1 | awk '{ printf "%.2f%%\t\t\n", 100-$NF }'
注:sar最后一行为包含关键字Average的一行,为系统近期的平均资源使用情况;因此可以利用过滤关键字Average或借助tail命令取出最后一行;再使用awk命令打印出最后一列(%idle),同时与100做差值运算即可计算出CPU近期的使用情况。
磁盘使用率监控:
df -h | grep -Ev 'Filesystem|tmpfs'| awk '{ print $1,$5 }'
将上述三个命令整合到一起,使用shell脚本执行:
[root@Vm_Centos ~]# cat jk.sh
#!/bin/bash
Cpu=`sar | grep Average | awk '{ printf "%.2f%%\t\t\n", 100-$NF }'`;
Mem=`free -m | awk 'NR==2{printf "%.2f%%\t\t", $3*100/$2 }'`;
Disk=`df -h | grep -Ev 'Filesystem|tmpfs'| awk '{ print $1,$5 }'`;
#
echo "CPU utilization: $Cpu";
echo "Memory utilization: $Mem";
echo "Disk utilization: $Disk";
[root@Vm_Centos ~]#
查看CPU型号和CPU核数量
cat /proc/cpuinfo | grep name | awk -F: '{ print $2 }'
cat /proc/cpuinfo | grep name | awk -F: '{ print $2 }'| uniq -c
注:awk命令以冒号为分隔符,打印出第二列
通过uniq命令,重复值去重,并统计重复次数。
可以看出,我的主机只有一核,型号为6148,主频2.40GHz