歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> SHELL編程 >> shell計算內存空閒率

shell計算內存空閒率

日期:2017/3/1 10:04:00   编辑: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%吧。不論怎麼樣,大概實現預期目標。在高手眼中這就是垃圾啊!!

采集數據中發現,空閒內存變化比較大,列數也不固定。這方法真的很垃圾呢!

不過是第一次練習。不要給板磚哦!
Copyright © Linux教程網 All Rights Reserved