簡體   English   中英

如何找出正在讀取磁盤的進程?

[英]How to find out which process is reading disk?

我正在使用 GCP 虛擬機,有時我會失去與該虛擬機的 ssh 連接。 經過一番調查,我發現在我無法 ssh 到 VM 期間,磁盤 IO 讀取非常高,接近 100MB/s。

在此處輸入圖像描述

我很確定我沒有運行任何需要磁盤 IO 的進程。 所以我需要找出是哪個進程做到了這一點。

我該怎么做? 我檢查了 /var/log 中的日志,沒有可疑的日志。

由於在讀取時無法登錄虛擬機,因此我需要某種方式將其置於后台。

您可以定期使用iotop --only類的東西(例如 cron)來查看正在消耗 IO 的進程。 您應該能夠通過您的 package 管理器( aptyum 、...)安裝iotop 請參閱此鏈接:

https://www.tecmint.com/iotop-monitor-linux-disk-io-activity-per-process/

如果上面的鏈接失效,您可以在 crontab 中添加如下內容:

* * * * * root iotop -botqqq --iter=3 >> /var/log/iotop

每分鍾檢查每個進程的 IO 使用情況(您可以每 5 分鍾、每 10 分鍾等更改一次)。 請注意,盡管您沒有用/var/log/iotop (旋轉日志或其他東西)完全填滿磁盤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM