一个用了统计CPU 内存 硬盘 使用率的shell脚本
2017-11-15 17:19
756 查看
一个用了统计CPU 内存 硬盘 使用率的shell脚本
一个统计 CPU 内存 硬盘 使用率的shell脚本,供大家学习参考代码如下:
#!/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使用率。
复制代码 代码如下:
#!/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!” 博客
http://www.jb51.net/article/33933.htm
相关文章推荐
- 一个用了统计CPU 内存 硬盘 使用率的shell脚本
- 一个用了统计CPU 内存 硬盘 使用率的shell脚本
- 统计 CPU 内存 硬盘 使用率的shell脚本
- 统计 cpu 内存 使用率的shell脚本代码
- 统计 cpu 内存 使用率的shell脚本代码
- CPU 内存 硬盘 使用率统计shell
- 监控CPU、内存和硬盘利用率的shell脚本
- linux-raspbian系统下编写python脚本显示树莓派的当前cpu温度、使用率、内存和硬盘信息
- linux系统的负载与CPU、内存、硬盘、用户数监控shell脚本
- Redhat linux 系统的负载与CPU、内存、硬盘、用户数监控shell脚本
- 获取服务器信息shell脚本:内存大小,cpu型号,系统发行版本,硬盘个数及大小等
- 如何用shell脚本监控服务器负载、cpu、内存、硬盘和登录用户数
- Redhat linux 系统的负载与CPU、内存、硬盘、用户数监控shell脚本 推荐
- 阿里云提供的一个监测cpu和内存的shell脚本(get_cpu_mem_info.sh)
- 获取服务器信息shell脚本:内存大小,cpu型号,系统发行版本,硬盘个数及大小等
- linux系统的负载与CPU、内存、硬盘、用户数监控shell脚本
- Linux系统的负载与CPU、内存、硬盘、用户数监控的shell脚本
- shell脚本: linux系统的负载与CPU、内存、硬盘、用户数监控
- linux系统的负载与CPU、内存、硬盘、用户数监控shell脚本
- centos inux 系统的负载与CPU、内存、硬盘、用户数监控shell脚本