源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

一个用了统计CPU 内存 硬盘 使用率的shell脚本

  • 时间:2022-12-07 18:34 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:一个用了统计CPU 内存 硬盘 使用率的shell脚本
[u]复制代码[/u] 代码如下:
#!/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("%s\n",$13)}'`   system=`echo $temp |awk '{printf("%s\n",$14)}'`   idle=`echo $temp |awk '{printf("%s\n",$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使用率。
[u]复制代码[/u] 代码如下:
 #!/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!” 博客
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部