竹子开花的时 发表于 2018-8-19 08:54:39

计算Linux内存,CUP,硬盘使用率的shell脚本

  在开发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>#本人文件主要存储于sda8分区,所以以此提取。Location=/dev/sda8Disk_Used_Rate=$(df -h | grep $Location | awk '{print $5}')echo $Disk_Used_Rate #memory_used_rateLoadMemory=$(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_rateLog1=$(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`
页: [1]
查看完整版本: 计算Linux内存,CUP,硬盘使用率的shell脚本