如何监控特定驱动器上的磁盘活动?

如何监控特定驱动器上的磁盘活动?

我想查看 USB 外置硬盘上的磁盘活动。我知道我可以使用它iotop来监控每个正在运行的进程的磁盘 I/O,但是有没有办法获取每个文件系统的测量值?

答案1

dstat 比 iostat 更适合严格监控磁盘活动。

我在将文件从一个硬盘移动到另一个硬盘时运行以下命令

dstat -D sda,sdc

欲了解更多信息,请查看此页面

https://help.ubuntu.com/community/DiskPerformance

答案2

我不太擅长这个领域,但是iostat想到了。您可以使用系统状态包裹。祝你好运!

答案3

使用软件包iostat中的sysstat命令可提供自启动以来的单个结果快照。使用间隔参数将仅将最后一个间隔的结果附加到输出中。例如,iostat 10将首先显示“自启动以来”的值,然后继续每 10 秒将最后 10 秒的统计数据添加到输出中。包括-y忽略自启动以来的第一次统计数据显示的选项,但要明白,在系统收集第一个快照时,该命令将在指定的时间间隔内显示为空闲状态。

我发现,当与watch命令结合使用并指示仅收集单个统计间隔时,这种方法最有效。例如:

watch -t -n 0.1 iostat -p sda,sdc -d -t -y 5 1

这将每 5.1 秒刷新一次过去 5 秒的活动统计数据。详细了解选项和参数...

  • 第一个-t命令watch省略标题。这是为了避免混淆,否则标题将包含“每 0.1 秒”,而这不代表数据的快照。
  • 指示每 0.1 秒运行以下命令。这是( ) 的最小间隔-n 0.1,但不用担心,它实际上并不是每 0.1 秒运行一次命令。它将在前一个实例完成后 0.1 秒运行该命令。watchwatchprocps-ng 3.3.9
  • 告诉仅显示这些设备的统计数据-p sda,sdciostat
  • -d消息iostat仅显示设备利用率,因为问题涉及磁盘活动。
  • 第二个-t开关指示iostat将刷新时间包含在统计信息中。这很有用,因为之前省略了标题watch会删除原本应该显示的时间。
  • 交换机-y在间隔显示中省略了“自启动以来”统计信息的第一屏。如果没有这个,结果将是显示自启动以来按 watch 命令间隔更新的统计信息。
  • 是间隔5 1参数iostat。在本例中,捕获 5 秒的统计数据一次(1)。由于-y使用了开关,因此只会显示一屏数据。

收集数据需要5秒钟iostat,然后显示在中watch,0.1秒后手表将再次触发iostat命令。5秒后新数据将取代旧数据,watch等待0.1秒,清洗,冲洗,重复......

答案4

为了一目了然地监控每个设备和进程的磁盘 IO,请考虑使用glances

https://nicolargo.github.io/glances

您可以使用以下方式安装apt

sudo apt install glances

或者pip

pip install glances

相关内容