第一行Mem,表示物理內存統計
total:總內存大小
used:已使用內存大小
free:當前空閑內存大小
shared:多個進程共享的內存總額
buffers/cached:緩存內存數據
第二行-/+ buffers/cache:
(1)used 實際使用的內存,等於第一行的 used - buffers - cached
(2)free 實際可用內存,等於第一行的 free + buffers + cached
內存占用計算公式used/(used+free)
第三行Swap表示交換區的使用情況,也就是我們通常所說的虛擬內存。
free常用參數:
free -b #以Byte為單位顯示內存使用情況
free -k #以KB為單位顯示內存使用情況,也是默認參數
free -m #以MB為單位顯示內存使用情況
free -g #以GB為單位顯示內存使用情況
free -s<數字> #間隔數字秒數刷新顯示內存使用情況
free -t #顯示內存總和列
free -V #顯示當前版本
當你在讀寫文件的時候,Linux內核為了提高讀寫效率與速度,會將文件在內存中進行緩存,這部分內存就是Cache Memory(緩存內存)。即使你的程序運行結束后,Cache Memory也不會自動釋放。這就會導致你在Linux系統中程序頻繁讀寫文件后,你會發現可用物理內存會很少。
其實這緩存內存(Cache Memory)在你需要使用內存的時候會自動釋放,所以你不必擔心沒有內存可用。如果你希望手動去釋放Cache Memory(緩存內存)的話也是有辦法的。
echo 1 > /proc/sys/vm/drop_caches