如何保存特定时间段内iotop的输出

dev*_*per 5 io

我试图找出哪些进程在我的服务器磁盘上进行大量读/写操作。我知道我可以使用

iotop -ao
Run Code Online (Sandbox Code Playgroud)

但是有没有办法可以将iotop的输出保存一段特定的时间以供以后研究?

Flu*_*lup 4

这并不能严格回答您的问题,但您可能会发现atop更有用。它可以作为守护进程运行并写入二进制日志文件。atop该文件包含重现“实时”运行时所看到的内容所需的所有数据。

要作为守护进程运行atop,您可以将其启动为

/usr/bin/atop -a -w /var/log/atop.log 60
Run Code Online (Sandbox Code Playgroud)

每 60 秒将快照写入日志。稍后您可以通过执行以下操作来查看特定时间发生的情况:

atop -r /var/log/atop.log -b 10:00
Run Code Online (Sandbox Code Playgroud)

上午 10 点开始。然后,您可以在日志中前后查看系统活动的发展情况。

为了解决您的特定磁盘活动问题,d按下时atop将按当时的总磁盘活动对进程进行排序,并且在屏幕顶部的摘要中您将能够看到每个设备的汇总统计信息。