歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> SHELL編程

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