Linux

如何在 Linux 上監控硬碟負載?

  • February 19, 2020

是否有一個很好的命令行實用程序來監控 Linux 上的硬碟負載?類似於top但隨後監視磁碟活動 iso cpu 使用情況。

更具體地說,我懷疑對於在其上執行的程序的各個部分進行多次優化後的某些(重負載)伺服器,現在的瓶頸只是記錄到磁碟上的文件。但我發現很難評估伺服器可以處理多少流量。

我理想的工具是列印“您現在正在使用 35% 的磁碟頻寬”的東西。有任何想法嗎?

iostat您可以使用該工具對此進行很好的衡量。

% iostat -dx /dev/sda 5

Device:         rrqm/s   wrqm/s     r/s     w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %util
sda               0.78    11.03    1.19    2.82    72.98   111.07    45.80     0.13   32.78   1.60   0.64

磁碟使用率列在最後一列中。這被定義為

向設備發出 I/O 請求的 CPU 時間百分比(設備的頻寬使用率)。當該值接近 100% 時,會發生設備飽和。

iotop是 top 的一個版本,它查看每個程序正在使用多少 IO。它在標準的 ubuntu 儲存庫中;我不知道它是在 RHEL 還是 Fedora 中,但應該是。

在此處輸入圖像描述

對於不支持 iotop 的舊核心(例如 CentOS 5.x 或 RHEL 5.x),請改用 topio(記錄在此:http://yong321.freeshell.org/freeware/pio.html#linux 它依賴於 / proc//io 用於 io 統計並提供與 iotop 類似的功能。有關詳細資訊,請參閱連結。

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