教程集 www.jiaochengji.com
教程集 >  脚本编程  >  shell  >  正文 shell计算内存空闲率的方法分享

shell计算内存空闲率的方法分享

发布时间:2014-10-21   编辑:jiaochengji.com
本文介绍下,用shell脚本计算内存的空闲率的方法,有需要的朋友参考下。

接触shell不久,尝试计算内存的空闲率。
 
首先,采集内存使用信息。
在linux中,内存信息可以从文件/proc/meminfo中获取。

例如:
 

复制代码 代码示例:
[root@www ~]# cat /proc/meminfo |head -n10
 MemTotal:      389364 kB
 MemFree:        10824 kB
 Buffers:        18096 kB
 Cached:        245308 kB
 SwapCached:          0 kB
 Active:        183944 kB
 Inactive:      171684 kB
 HighTotal:          0 kB
 HighFree:            0 kB
 LowTotal:      389364 kB
 [root@www ~]#
 
[root@www ~]# cat /proc/meminfo |head -n1|cut -d " " -f8
 389364
 [root@www ~]# cat /proc/meminfo |head -n2|tail -n1|cut -d " " -f10
 10452

通过cut可以得到内存总量和闲置内存数值。
通过算数运算:闲置/总量=闲置率。
 
注意,以下这行命令,执行后结果为“0”:
 

复制代码 代码示例:
[root@www ~]# echo `cat /proc/meminfo |head -n2|tail -n1|cut -d " " -f11` / `cat /proc/meminfo |head -n1|cut -d " " -f8`|bc
0

解决方法:
将闲置量X100后在和总量相除。
 

复制代码 代码示例:
[root@www ~]# echo `cat /proc/meminfo |head -n2|tail -n1|cut -d " " -f11`*100 / `cat /proc/meminfo |head -n1|cut -d " " -f8`|bc
 1

1就是1%吧。采集数据中发现,空闲内存变化比较大,列数也不固定。
哪位有好的方法,欢迎分享下。

您可能感兴趣的文章:
shell计算内存空闲率的方法分享
system Idle Process CPU占用率高是什么原因?如何解决
Java自动内存管理详解
监控linux中CPU 内存 磁盘数据的shell脚本(图文)
年度最佳【golang】内存分配详解
Go内存管理(一)TCMalloc内存管理原理
内存池原理详解
Go 内存管理(一)TCMalloc内存管理原理
mysql提高并发插入效率的方法
监控硬盘空间使用率的shell脚本(图文)

[关闭]
~ ~