shell计算内存空闲率


初学shell试着计算内存空闲率。
 
首先要采集到内存使用信息,内存信息可以从这里得到/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%吧。不论怎么样,大概实现预期目标。在高手眼中这就是垃圾啊!!
 
采集数据中发现,空闲内存变化比较大,列数也不固定。这方法真的很垃圾呢!
 
不过是第一次练习。不要给板砖哦!

相关内容