来一发shell收罗体系cpu 内存 磁盘 收集信息
如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的好朋友们!cpu利用率收罗算法
经由过程/proc/stat文件收罗并盘算CPU总利用率大概单个核利用率。以cpu0为例,算法以下:
1.cat/proc/stat|grep‘cpu0’失掉cpu0的信息
2.cpuTotal1=user+nice+system+idle+iowait+irq+softirq
3.cpuUsed1=user+nice+system+irq+softirq
4.sleep30秒
5.再次cat/proc/stat|grepcpu0失掉cpu的信息
6.cpuTotal2=user+nice+system+idle+iowait+irq+softirq
7.cpuUsed2=user+nice+system+irq+softirq
8.失掉cpu0在30秒内的单核使用率:(cpuUsed2CcpuUsed1)*100/(cpuTotal2CcpuTotal1)
相称于利用topCd30下令,把user、nice、system、irq、softirq五项的利用率相加。
viewsourceprint?a=$(`cat/proc/stat|grep-E"cpu"|awk-vtotal=0{$1="";for(i=2;i<=NF;i++){total+=$i};used=$2+$3+$4+$7+$8}END{printtotal,used}`)sleep30b=$(`cat/proc/stat|grep-E"cpu"|awk-vtotal=0{$1="";for(i=2;i<=NF;i++){total+=$i};used=$2+$3+$4+$7+$8}END{printtotal,used}`)cpu_usage=$(((${b}-${a})*100/(${b}-${a})))
cpu负载
收罗算法:
读取/proc/loadavg失掉呆板的1/5/15分钟均匀负载,再乘以100。
viewsourceprint?cpuload=$(`cat/proc/loadavg|awk{print$1,$2,$3}`)load1=${cpuload}load5=${cpuload}load15=${cpuload}
内存收罗
使用步伐利用内存
收罗算法:
读取/proc/meminfo文件,(MemTotalCMemFreeCBuffersCCached)/1024失掉使用步伐利用内存数。
viewsourceprint?awk/MemTotal/{total=$2}/MemFree/{free=$2}/Buffers/{buffers=$2}/^Cached/{cached=$2}END{print(total-free-buffers-cached)/1024}/proc/meminfo
MEM利用量
收罗算法:
读取/proc/meminfo文件,MemTotalCMemFree失掉MEM利用量。
viewsourceprint?awk/MemTotal/{total=$2}/MemFree/{free=$2}END{print(total-free)/1024}/proc/meminfo
SWAP利用巨细
收罗算法:
经由过程/proc/meminfo文件,SwapTotalCSwapFree失掉SWAP利用巨细。
磁盘信息收罗
diskio
1、IN:均匀每秒把数据从硬盘读到物理内存的数据量
收罗算法:
读取/proc/vmstat文件得出比来240秒内pgpgin的增量,把pgpgin的增量再除以240失掉每秒的均匀增量。
相称于vmstat240下令bi一列的输入。
viewsourceprint?a=`awk/pgpgin/{print$2}/proc/vmstat`sleep240b=`awk/pgpgin/{print$2}/proc/vmstat`ioin=$(((b-a)/240))
2、OUT:均匀每秒把数据从物理内存写到硬盘的数据量
收罗算法:
读取/proc/vmstat文件得出比来240秒内pgpgout的增量,把pgpgout的增量再除以240失掉每秒的均匀增量。
相称于vmstat240下令bo一列的输入。
viewsourceprint?a=`awk/pgpgout/{print$2}/proc/vmstat`sleep240b=`awk/pgpgout/{print$2}/proc/vmstat`ioout=$(((b-a)/240))
收集
流量
以http://www.centos.bz/为例,eth0是内网,eth1外网,猎取60秒的流量。
呆板网卡的均匀每秒流量
收罗算法:
读取/proc/net/dev文件,失掉60秒内发送和吸收的字节数(KB),然后乘以8,再除以60,失掉每秒的均匀流量。
viewsourceprint?traffic_be=$(`awkBEGIN{ORS=""}/eth0/{print$2,$10}/eth1/{print$2,$10}/proc/net/dev`)sleep60traffic_af=$(`awkBEGIN{ORS=""}/eth0/{print$2,$10}/eth1/{print$2,$10}/proc/net/dev`)eth0_in=$(((${traffic_af}-${traffic_be})/60))eth0_out=$(((${traffic_af}${traffic_be})/60))eth1_in=$(((${traffic_af}${traffic_be})/60))eth1_out=$(((${traffic_af}${traffic_be})/60))
包量
呆板网卡的均匀每秒包量
收罗算法:
读取/proc/net/dev文件,失掉60秒内发送和吸收的包量,然后除以60,失掉每秒的均匀包量。
viewsourceprint?packet_be=$(`awkBEGIN{ORS=""}/eth0/{print$3,$11}/eth1/{print$3,$11}/proc/net/dev`)sleep60packet_af=$(`awkBEGIN{ORS=""}/eth0/{print$3,$11}/eth1/{print$3,$11}/proc/net/dev`)eth0_in=$(((${packet_af}-${packet_be})/60))eth0_out=$(((${packet_af}${packet_be})/60))eth1_in=$(((${packet_af}${packet_be})/60))eth1_out=$(((${packet_af}${packet_be})/60))
如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的好朋友们!
来一发shell收罗体系cpu 内存 磁盘 收集信息
Linux的成功就在于用最少的资源最短的时间实现了所有功能,这也是符合人类进化的,相信以后节能问题会日益突出。 上课传授的不仅仅是知识,更重要的是一些道理,包括一些做人的道理,讲课时也抓住重点,循序渐进,让同学理解很快;更可贵的是不以你过去的成绩看问题. Windows?是图形界面的,Linux类似以前的?DOS,是文本界面的,如果你运行了图形界面程序X-WINDOWS后,Linux?也能显示图形界面,也有开始菜单、桌面、图标等。 有疑问前,知识学习前,先用搜索。 对于英语不是很好的读者红旗 Linux、中标Linux这些中文版本比较适合。现在一些Linux网站有一些Linux版本的免费下载,这里要说的是并不适合Linux初学者。 在学习的过程中,我们用的是VM虚拟机,开始时真的不真的该怎么去做,特别是我的是命令窗口界面,别人的是图形界面,我都不知道怎么调过来。 其实当你安装了一个完整的Linux系统后其中已经包含了一个强大的帮助,只是可能你还没有发现和使用它们的技巧。
页:
[1]