一个用了统计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脚本相关推荐

  1. golang 获取cpu 内存 硬盘 使用率 信息 进程信息

    目录 1.获取 cpu 内存 磁盘使用率 2.获取本机信息 3. 获取CPU信息 4. 获取内存信息 5.获取磁盘信息 6.获取网络信息 7. 获取进程信息 使用库: go get github.co ...

  2. 怎样用shell计算linux内存,计算Linux内存,CUP,硬盘使用率的shell脚本

    在开发CFS过程中需要对机器实时的内存,CPU,硬盘使用率进行监控,因为CFS跑在Linux机器上,可以利用Linux中一些相应虚拟文件进行内存CPU使用率的计算,于是编写了以下脚本,很简单,但是很实 ...

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

    在开发CFS过程中需要对机器实时的内存,CPU,硬盘使用率进行监控,因为CFS跑在Linux机器上,可以利用Linux中一些相应虚拟文件进行内存CPU使用率的计算,于是编写了以下脚本,很简单,但是很实 ...

  4. 处理器仿存带宽_linux服务器CPU内存硬盘读写带宽等性能测试方法

    如何对一个VPS主机进行CPU内存,硬盘IO读写,带宽速度等项目测试,像UnixBench和压力测试则可以综合反映一个VPS的性能水平,方便大家对照参考. VPS性能测试:CPU内存,硬盘IO读写,带 ...

  5. Linux 查看CPU 内存 IO使用率,linux 查看CPU内存 网络 流量 磁盘 IO

    使用vmstat命令来察看系统资源情况 在命令行方式下,如何查看CPU.内存的使用情况,网络流量和磁盘I/O? Q: 在命令行方式下,如何查看CPU.内存的使用情况,网络流量和磁盘I/O? A: 在命 ...

  6. Windows 性能监视器的基本指标说明(CPU,内存,硬盘参数)

    作为一个系统工程师来说,要看懂监控的数据至关重要,关系着优化和分析出现的问题.我是在运维过程中要用到的.因此,今天给出Windows 性能监视器的一些基本指标(CPU,内存,硬盘参数),希望对大家将来 ...

  7. 【MacOS】Hammerspoon-sugood多合一效率工具,新增状态栏显示系统信息(CPU/内存/硬盘/网速)-v0.1.7

    运行环境要求 已测试可用的系统:MacOS 10.14 及以上 脚本功能说明 Github(国外地址) Gitee(国内地址) 已完成如下功能 状态栏显示输入法状态 时间同步功能 屏幕取色功能 JSO ...

  8. 树莓派-4-温度CPU内存硬盘状态信息

    获取树莓派当前状态和数据(温度.CPU.内存.硬盘) 1 CPU和操作系统信息 1.1 CPU信息 $ sudo cat /proc/cpuinfo $ sudo cat /proc/cpuinfo ...

  9. 一个检查分区内存并且发送邮件的shell脚本

    一个检查分区内存并且发送邮件的shell脚本 1 2 3 4 5 6 7 8 9 10 #!/bin/bash read -t 30 -p "请输入您想要查找那个分区(格式sda1~sda3 ...

最新文章

  1. DAL(数据库访问层)
  2. NOI数据结构:后缀树
  3. Counter 用法 from collections import Counter
  4. 用R语言做单方程的误差修正模型(ECM)
  5. PDF Expert 2.5.13 极致的 PDF 阅读标注工作体验
  6. 华为电视测试软件,简单便捷!实测教你华为智慧屏怎么样用USB安装APP
  7. 按头安利 好看又实用的建筑图标素材看这里
  8. TapTap实习两周总结
  9. 《谷物大脑》笔记(初稿)
  10. 时间序列分析之相关性
  11. 计算机基础知识测试1,计算机基础知识测试试题及答案(网络)1
  12. Xmarks已死,您还有其他选择吗?
  13. 区块链报告会心得体会3000_学习区块链的心得体会?
  14. 关于进程,线程,协程,一点心得
  15. 单片机课程设计——基于51单片机温湿度检测系统的设计与实现
  16. 一起领略css3动画的强大
  17. Cadence 将原理图导出PDF格式
  18. 企业网盘到底应该怎么选?
  19. python Dataframe apply()自定义函数中axis参数
  20. ps计算机软件专用报告,PS笔记 计算机软件及应用 IT计算机 专业资料.docx

热门文章

  1. 《编码:隐匿在计算机软硬件背后的语言(美)》读书笔记三
  2. Reflection
  3. ICO的“金三角”与区块链的“新大陆”
  4. (转)写的非常好的一个WPF学习之路
  5. 在ubuntu上安装最新稳定版本的node及npm
  6. Kerberos验证过程
  7. java中final关键字的用法
  8. 谈谈eclipse使用技巧一
  9. 影响视频会议效果的因素及案例分析
  10. 计院生活--第二章 深入虎穴(下)