free -h
total used free shared buff/cache available
Mem: 125G 88G 821M 179M 35G 35G
Swap: 19G 121M 19G
命令釋義
第一行: 系統物理內存的使用情況
第二行: swap交換內存的使用情況
total列: 系統中內存的總量,
used列: 已用內存總量(used = total-free-buffers-cache)
free列: 空閒內存容量(真正尚未被使用的物理內存數)
shared列: 共享內存使用的容量
buff/cache: buffers和cache所用總量的總和(buffers爲內核緩衝區所用的內存,cache爲頁緩存和slabs所用的內存容量)
available列爲估算值,是在不需要swapping內存的情況下,可用物理內存容量。它是從應用程序的角度看到的可用內存數量。
內核爲了提升磁盤操作的性能,會消耗一部分內存去緩存磁盤數據(就是buffer和cache),所以對於內核來說buffer和cache都屬於已經被使用的內存。
當應用程序需要內存時,如沒有足夠的 free 內存可用,內核就會從 buffer 和 cache 中回收內存來滿足應用程序的請求。所以從應用程序的角度來說,available = free + buffer + cache。