我想查看 USB 外置硬盘上的磁盘活动。我知道我可以使用它iotop
来监控每个正在运行的进程的磁盘 I/O,但是有没有办法获取每个文件系统的测量值?
答案1
dstat 比 iostat 更适合严格监控磁盘活动。
我在将文件从一个硬盘移动到另一个硬盘时运行以下命令
dstat -D sda,sdc
欲了解更多信息,请查看此页面
答案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 秒运行该命令。watch
watch
procps-ng 3.3.9
- 告诉仅显示这些设备的统计数据
-p sda,sdc
。iostat
- 该
-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