Linux命令行工具之free命令

原創轉載請註明出處:https://www.cnblogs.com/agilestyle/p/11524691.htmlhtml

 

使用 free 查看整個系統的內存使用狀況

Note:不一樣版本的free輸出可能會有所不一樣緩存

  • 第一列,total 是總內存大小;
  • 第二列,used 是已使用內存的大小,包含了共享內存;
  • 第三列,free 是未使用內存的大小;
  • 第四列,shared 是共享內存的大小;
  • 第五列,buffers是緩衝區的大小
  • 第六列,cached是緩存的大小

 

使用 top 查看進程的內存使用狀況

top 輸出界面的頂端,也顯示了系統總體的內存使用狀況,這些數據跟 free 相似。接着看下面的內容,跟內存相關的幾列數據,好比 VIRT、RES、SHR 以及 %MEM 等。
這些數據,包含了進程最重要的幾個內存使用狀況。spa

  • VIRT 是進程虛擬內存的大小,只要是進程申請過的內存,即使尚未真正分配物理內存,也會計算在內。
  • RES 是常駐內存的大小,也就是進程實際使用的物理內存大小,但不包括 swap 和共享內存。
  • SHR 是共享內存的大小,好比與其餘進程共同使用的共享內存、加載的動態連接庫以及程序的代碼段等。
  • %MEM 是進程使用物理內存佔系統總內存的百分比。

除了要認識這些基本信息,在查看 top 輸出時,還要注意兩點。htm

  • 第一,虛擬內存一般並不會所有分配物理內存。從上面的輸出,能夠發現每一個進程的虛擬內存都比常駐內存大得多。
  • 第二,共享內存 SHR 並不必定是共享的,比方說,程序的代碼段、非共享的動態連接庫,也都算在 SHR 裏。固然,SHR 也包括了進程間真正共享的內存。因此在計算多個進程的內存使用時,不要把全部進程的 SHR 直接相加得出結果。

 

Reference

https://time.geekbang.org/column/article/74272blog

相關文章
相關標籤/搜索