日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發布時間:2025/5/22 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 一个用了统计CPU 内存 硬盘 使用率的shell脚本 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一個用了統計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


轉載于:https://blog.51cto.com/chaochang/1982081

總結

以上是生活随笔為你收集整理的一个用了统计CPU 内存 硬盘 使用率的shell脚本的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。