Linux

Linux - 我如何查看等待磁碟 IO 的內容

  • December 29, 2017

我有一台負載非常高的伺服器。就 CPU 使用率而言,沒有什麼讓我大吃一驚,也沒有交換。

我認為這是因為某些程序正在等待磁碟 IO,我想看看在等待什麼。

是否有任何程序可以告訴我哪些程序正在等待 IO?我知道,iotop但這顯示了目前正在做什麼 IO。

或者這是一個愚蠢的問題?(如果是這樣解釋如何:))

您可以使用 iotop 之類的 I/O 監視器,但它只會顯示具有目前 I/O 操作的程序或執行緒。

如果您需要瀏覽等待 I/O 的程序,請使用 watch 監視帶有 STAT 標誌“D”的程序,如下所示:

watch -n 1 "(ps aux | awk '\$8 ~ /D/  { print \$0 }')"

ps axu並尋找處於“D”狀態的程序。根據ps(1) 聯機幫助頁,處於 D 狀態的程序處於不間斷睡眠狀態,這幾乎總是意味著“等待 IO”。不幸的是,通常不可能殺死這些程序。

引用自:https://serverfault.com/questions/61510