怎样用shell计算linux内存,计算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 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`

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值