top的wa,mpstat的%iowait以及pidstat的%wait
2023-02-27 15:40 清風軟件測試開發 閱讀(896) 評論(0) 收藏 舉報top的wa,mpstat的%iowait以及pidstat的%wait
pidstat 中, %wait 表示進程等待 CPU 的時間百分比。等待 CPU 的進程已經在 CPU 的就緒隊列中,處于運行狀態。可能是cpu很忙導致這個線程還沒有搶到cpu的時間段。
top / mpstat /iostat 中 ,iowait% 則表示等待 I/O 的 CPU 時間百分比。等待 I/O 的進程則處于不可中斷狀態D。此時一直占用著cpu時間段,但是cpu有可能不干活白白的浪費時間在等待io。如果%idle也高,則表明cpu在等待io的時候真的沒有干活白白的浪費時間。
iowait實際測量的是cpu時間: %iowait = (cpu idle time) / (all cpu time)
linux的cpu時間片一般是100ms
windows是10ms
iostat 命令詳解
%steal:丟失時間占用cpu 作為一個參考
await 每一個IO請求的處理的平均時間(單位ms)。
svctm 表示平均每次設備I/O操作的服務時間(以毫秒為單位)。
%util 在統計時間內所有處理IO時間,除以總共統計時間。
%iowait: IO等待所占用的cup時間(重要) <30% (不同功能的服務器不同)。表明cpu在等待io所花費的時間,注意:CPU在等待io的時候,有可能在忙也有可能在空閑著。
%idle: CPU處于中斷(空閑)狀態的時間。表明cpu是真正的不干活,白白浪費cpu時間段。
注:一般來說%idie持續游走在20%以下,瓶頸出現在cpu的性能層面。
%iowait高而%idle在70%以上,瓶頸出現在i/o設備層面。
注:如果%iowait的值過高,表示硬盤存在I/O瓶頸,%idle值高,表示CPU較空閑,如果%idle值高但系統響應慢時,有可能是CPU等待分配內存,此時應加大內存容量。
%idle值如果持續低于10,那么系統的CPU處理能力相對較低,表明系統中最需要解決的資源是CPU。
浙公網安備 33010602011771號