In the following output, what percentage of time was the CPU waiting for pending I/O?
# 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. 0
B. 100
C. 35.9
D. 57.7
E. 36.6
題解
「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的時間。
題目需要得知「等待IO的時間」,因此要看「wa」欄位,所以答案是選項「A」。