2016-11-03 48 views
0

我想使用Linux bash shell scipts來計算可用內存的百分比。在Linux中使用bash腳本計算可用內存的百分比

Example: 
bash-4.1$ free 
       total  used  free  shared buffers  cached 
Mem:  12223100 11172812 1050288  316  714800  629944 
-/+ buffers/cache: 9828068 2395032 
Swap:  6266872 5852824  414048 

Ex。 (1050288/12223100)* 100 =%可用內存 - 我想使用腳本執行此操作。

感謝 Puspa

回答

0
memfree=`cat /proc/meminfo | grep MemFree | awk '{print $2}'`; 
memtotal=`cat /proc/meminfo | grep MemTotal | awk '{print $2}'`; 
bc -l <<< "$memfree * 100/$memtotal" 

的PROC/meminfo中的文件顯示,如果您需要關於內存的一切。

您使用grep來隔離有關可用內存和總內存的行,並將其存儲在變量中。然後你使用bc -l進行浮點除法。

編輯: 如果沒有安裝BC,您可以使用回聲:

echo $(($memfree.0 * 100/$memtotal)) 
+0

謝謝你。我現在用的bash shell中Linux.There沒有BC installed.what是另一種方式? – puspa

+0

你可以使用echo: – d34db33f

+0

你可以在這裏總共調用7個進程(2'cat',2' awk',2'grep',1'bc'),當它可以用一個'awk'完成時。 Mmmm ... –