In this example output, which descriptions match the purpose of the free, buff and cache columns? (Choose THREE correct answers.)



# vmstat 1 100

procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa
 0  0      0 282120  134108 5797012  0    0     0     2    0    0  0  0 100 0
 0  0      0 282120  134108 5797012  0    0     0     2    0    0  0  0 100 0
 0  0      0 282120  134108 5797012  0    0     0     0 1007  359  0  0 100 0
 0  0      0 282120  134108 5797012  0    0     0     0 1117  577  0  0 100 0
 0  0      0 282120  134108 5797012  0    0     0     0 1007  366  0  0 100 0

A. Used swap space
B. RAM available for filesystem buffers
C. Available free RAM
D. RAM used for buffers
E. RAM used for filesystem cache

題解

「vmstat」指令可以查看記憶體(由主記憶體和置換空間組合而成的虛擬記憶體)的狀態。指令「vmstat 1 100」表示要以1秒鐘的間隔來取100次記憶體的狀態。

各個欄位的意義如下:

  • r:執行中和等待中的行程數量。
  • b:睡眠中的行程數量。
  • swpd:置換空間的使用量。(單位是KiB)
  • free:閒置實體記憶體的量。(單位是KiB)
  • buff:用來作為緩衝的記憶體的量。(單位是KiB)
  • cache:用來作為快取的記憶體的量。(單位是KiB)
  • si:資料從主記憶體置換進硬碟的每秒資料量。(單位是KiB)
  • so:資料從硬碟置換進主記憶體的每秒資料量。(單位是KiB)
  • bi:從區塊裝置取得資料至記憶體中的每秒資料量。(單位是KiB)
  • bo:將記憶體中的資料寫進區塊裝置的每秒資料量。(單位是KiB)
  • in:每秒的中斷數量。
  • cs:每秒的上下文交換(context switch)數量。
  • us:運行非Kernel程式的時間。
  • sy:運行Kernel程式的時間。
  • id:閒置的時間。
  • wa:等待IO的時間。

所以答案是選項「C」、選項「D」和選項「E」。