Linux:是否有类似于“top”的 I/O?

Linux:是否有类似于“top”的 I/O?

我的磁盘经常被使用,但是top(以及htop自定义替换)没有显示任何可疑信息。

有没有办法按 I/O(更具体地说:磁盘)利用率对进程进行排序?

编辑
使用时发现iotop那些奇怪的进程是flush-8:16jbd2/sdb3-7。似乎与通常的文件系统操作有关。

答案1

你有没有尝试过iotop

您可能需要先安装它。此外,它还取决于您的特定发行版中可能启用或未启用的内核功能。

答案2

你可能想试一试atop。它似乎能很好地让你知道发生了什么。

答案3

iostat仍然是详细 I/O 信息之王,例如,这种信息可以确认您的 SSD 是否符合预期。

$ iostat -xht 5 nvme0n1
Linux 4.15.0-43-generic (myhost)    06/02/2021  _x86_64_    (8 CPU)

06/02/2021 08:59:20 AM
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           2.6%    0.1%    0.8%    0.1%    0.0%   96.4%

Device            r/s     w/s     rkB/s     wkB/s   rrqm/s   wrqm/s  %rrqm  %wrqm r_await w_await aqu-sz rareq-sz wareq-sz  svctm  %util
nvme0n1
                95.03   20.80      1.8M    300.1k     0.00    13.15   0.0%  38.7%    0.24    0.57   0.03    19.2k    14.4k   0.02   0.3%

每五秒钟,这将打印 NVMe 驱动器的详细 IO 统计信息。最重要的通常不是实际的读/写带宽——rKB/swKB/s——而是每秒的读取和写入次数(r/sw/s,又称 IOPS),也许最重要的是进程等待每次读取和写入的平均时间——r_awaitw_await(以毫秒为单位)。

所有这些值都通过非常有用的利特尔定律公式相互影响,稍加翻译便可得到latency = queue_size / IOPS,或者await = aqu_sz / (r/s + w/s).

相关内容