代码如下:
#!/bin/bash
#This script is use for describle CPU Hard Memery Utilization
total=0
idle=0
system=0
user=0
nice=0
mem=0
vmexec=/usr/bin/vmstat
which sar > /dev/null 2>&1
if [ $? -ne 0 ]
then
ver=`vmstat -V | awk {printf $3}`
nice=0
temp=`vmstat 1 3 |tail -1`
user=`echo $temp |awk {printf(“%sn”,$13)}`
system=`echo $temp |awk {printf(“%sn”,$14)}`
idle=`echo $temp |awk {printf(“%sn”,$15)}`
total=`echo|awk {print (c1+c2)} c1=$system c2=$user`
fi
echo “#CPU Utilization#”
echo “Total CPU is already use: $total”
echo “CPU user is already use: $user”
echo “CPU system is already use: $system”
echo “CPU nice is already use: $nice”
echo “CPU idle is already use: $idle”
echo
root_use=$(df -lh | awk NR==2 | awk {print $5})
dev_use=$(df -lh | awk NR==3 | awk {print $5})
dev_shm_use=$(df -lh | awk NR==4 | awk {print $5})
echo “#Hard Utilization#”
echo “/ is already use: $root_use”
echo “/dev is already use: $dev_use”
echo “/dev/shm is already use: $dev_shm_use”
echo
memery_used=$(free | awk NR==2 | awk {print $3})
memery_all=$(free | awk NR==2 | awk {print $2})
memery_percent=$(echo “scale=4;$memery_used / $memery_all” | bc)
percent_part1=$(echo $memery_percent | cut -c 2-3)
percent_part2=$(echo $memery_percent | cut -c 4-5)
echo “#Memery Utilization#”
echo “system memery is already use: $percent_part1.$percent_part2%”
swap_used=$(free | awk NR==4 | awk {print $3})
swap_all=$(free | awk NR==4 | awk {print $2})
swap_percent=$(echo “scale=4;$swap_used / $swap_all” | bc)
swap_part1=$(echo $swap_percent | cut -c 2-3)
swap_part2=$(echo $swap_percent | cut -c 4-5)
echo “swap memery is already use: $swap_part1.$swap_part2%”
echo
在开发CFS过程中需要对机器实时的内存,CPU,硬盘使用率进行监控,因为CFS跑在Linux机器上,可以利用Linux中一些相应虚拟文件进行内存CPU使用率的计算,于是编写了以下脚本,很简单,但是很实用。
包含三个部分,分别为硬盘使用率,内存使用率和CPU使用率。
复制代码代码如下:
#!/bin/sh#count cpu_used_rate,memory_used_rate,disk_used_rate
#@Jayson 2012-5
#disk_used_rate
#Depend on real storage place the parameter Location need to alter.
#本人文件主要存储于sda8分区,所以以此提取。
Location=/dev/sda8
Disk_Used_Rate=$(df -h | grep $Location | awk {print $5})
echo $Disk_Used_Rate
#memory_used_rate
LoadMemory=$(cat /proc/meminfo | awk {print $2})
Total=$(echo $LoadMemory | awk {print $1})
Free1=$(echo $LoadMemory | awk {print $2})
Free2=$(echo $LoadMemory | awk {print $3})
Free3=$(echo $LoadMemory | awk {print $4})
Used=`expr $Total – $Free1 – $Free2 – $Free3`
Used_Rate=`expr $Used/$Total*100 | bc -l`
Memory_Used_Rate=`expr $Used_Rate/1 | bc`
echo $Memory_Used_Rate%
#cpu_used_rate
Log1=$(cat /proc/stat | grep cpu | awk {print $2″ “$3” “$4” “$5” “$6” “$7” “$8})
Sys1=$(echo $Log1 | awk {print $4})
Total1=$(echo $Log1 | awk {print $1+$2+$3+$4+$5+$6+$7})
sleep 0.5
Log2=$(cat /proc/stat | grep cpu | awk {print $2″ “$3” “$4” “$5” “$6” “$7” “$8})
Sys2=$(echo $Log2 | awk {print $4})
Total2=$(echo $Log2 | awk {print $1+$2+$3+$4+$5+$6+$7})
Sys=`expr $Sys2 – $Sys1`
本文出自 “Fighting,Jayson!” 博客
暂无评论内容