free命令文檔

free命令

  • 展示系統中空閒和已經使用的內存數量
  • 格式free [options]
  • 使用總結:free命令選項不多,核心在於搞清楚其展示的各列的含義

描述

  • free分別展示系統中總的空閒和已經使用的物理內存以及swap內存,還有內核使用的buffers和caches。
  • 信息是通過/proc/meminfo收集的
  • 展示的列爲:
名稱 詳解
total 總體安裝的內存,在/proc/meminfo中的MemTotal和SwapTotal
used 使用了的內存,計算公式爲total-free-buffers-cache
free 沒有使用的內存(/proc/meminfo中的MemFree以及SwapFree)
shared 主要由tmpfs使用的內存(/proc/meminfo中的Shmem)
buffers 內核buffers使用的內存(/proc/meminfo中的Buffers)
cache page cache和slabs使用的內存(/proc/meminfo中的Cached及SReclaimable)
buff/cache buffers和cache之和
available 估算對於新啓動應用程序還有多少可用內存,不含swap。不同於cache或者free字段提供的數據,這個字段考慮了page cache,並且由於部分可回收內存slabs仍然在使用中,因此並不是所有可回收內存slab都會被回收。(/proc/meminfo中的MemAvailable,3.14內核可用)
  • buffers和cache的區別
    • /proc/meminfo中的Buffers定義
      • 給原始磁盤塊使用的相對臨時存儲,這個不應該特別大(20MB這樣)
      • 就是用來緩存磁盤的數據
      • 這樣,內核就可以把分散的寫集中起來,統一優化磁盤的寫入,比如可以將多次小的寫合併成單次大的寫等等
    • /proc/meminfo中的Cached定義
      • 給從磁盤中讀取的文件的內存cache(page cache)。不包含SwapCached
      • 就是緩存從文件讀取的數據
      • 這樣,下次訪問這些文件數據時,可以直接從內存cache中快速讀取,而不需要再次訪問緩慢的磁盤
    • /proc/meminfo中的SwapCached定義
      • 曾經被交換出去的內存,現在要換入。但是仍然還在swap文件中。
        • 如果內存壓力高,這些頁面沒有必要再次交換出去,因爲他們已經在swap文件中。這樣可以節省IO。
    • /proc/meminfo中的SReclaimable定義
      • 可能被回收Slab的部分,例如caches。
    • /proc/meminfo中的SUnreclaim定義
      • 在內存壓力下不能被回收的Slab的部分
    • slab包括兩部分,可回收部分就是SReclaimable記錄的,不可回收部分用SUnreclaim記錄。
    • buffers和cache區別總結:
      • Buffer 是對磁盤數據的緩存
      • 而 Cache 是文件數據的緩存,
      • 它們兩者都既會用在讀請求中,也會用在寫請求中。

選項

名稱 詳解
-b, --bytes 以B爲單位顯示內存數量
-k, --kibi 以KiB爲單位顯示內存數量,這個是默認的
-m, --mebi 以MiB爲單位顯示內存數量
-g, --gibi 以GiB爲單位顯示內存數量
–tebi 以TiB爲單位顯示內存數量
–pebi 以PiB爲單位顯示內存數量
–kilo 以KB爲單位顯示內存數量,暗含在–si中
–mega 以MB爲單位顯示內存數量,暗含在–si中
–giga 以GB爲單位顯示內存數量,暗含在–si中
–tera 以TB爲單位顯示內存數量,暗含在–si中
–peta 以TB爲單位顯示內存數量,暗含在–si中
-h, --human 將所有的輸出字段自動最短的三位數字的單元並顯示單位。使用的是2的1024次方的單位
-w, --wide 切換到寬模式。寬模式產生超過80字符的行。這個模式下,buffers和cache在兩個單獨的列中顯示
-c, --count count 顯示結果count次數,需要-s選項
-l, --lohi 展示詳細的低和高內存統計數據
-s, --seconds delay 延遲delay秒之後持續顯示。delay可以用任意浮點數,因爲裏面用的是usleep(3)所以支持小於1秒的
–si 使用10的冪的單位而不是2的1024次的單位
-t, --total 增加一行展示各列的總數
–help 幫助
-V, --version 版本
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章