问题描述
我想观看USB外置硬盘上的磁盘活动。我知道我可以使用iotop
来监视每个正在运行的进程的磁盘I /O,但是有没有办法对每个文件系统进行度量?
最佳思路
在严格监视磁盘活动方面,dstat比iostat好。
在将文件从一个硬盘驱动器移动到另一个硬盘驱动器时,我正在运行以下命令
dstat -D sda,sdc
欲了解更多信息,请看此页面
https://help.ubuntu.com/community/DiskPerformance
次佳思路
我在这方面不熟练,但是想到了iostat。您可以使用sysstat软件包安装它。祝好运!
第三种思路
自启动以来,使用sysstat
程序包中的iostat
可提供结果的单个快照。使用interval参数会将仅最后一个间隔的结果附加到输出中。例如,iostat 10
将首先显示”since boot”值,然后继续每10秒将最后10秒统计信息添加到输出中。包括-y
选项可省略自启动以来的首次统计显示,但应了解在系统收集第一张快照时,命令将在指定的间隔内显示为空闲。
与watch
命令结合使用并指示仅针对单个统计间隔进行收集时,我发现这最为有效。例如:watch -t -n 0.1 iostat -d -t -y 5 1
在最近5秒内每5.1秒刷新一次活动统计信息。要分解选项和参数…
-
第一个
-t
告诉 watch 忽略表头。这是为了避免混淆,否则标头将包含“ Every 0.1s”,这不代表数据快照。 -
-n 0.1
告诉watch每隔0.1秒运行以下命令。这是观看的最小时间间隔(procps-ng 3.3.9),但请放心,它实际上并不是每0.1秒运行一次命令。在先前实例完成后的0.1秒内,它将运行命令。 -
-d
告诉iostat仅显示设备使用情况,这是相关的,因为问题与磁盘活动有关。或者,要监视特定磁盘,可以在时间间隔参数之前插入设备名称。 -
第二个
-t
开关告诉iostat在统计信息中包括刷新时间。这很有用,因为更早地忽略了表头,消除了原本应该在那里显示的时间。 -
-y
开关从间隔显示中忽略了”since boot”统计信息的第一个屏幕。没有此功能,结果将显示统计信息,因为自启动更新以watch命令为间隔。 -
5 1
是iostat间隔参数。在这种情况下,一次捕获5秒的统计信息(即1)。因为使用了-y开关,所以只会显示单个数据屏幕。
iostat需要5秒钟来收集数据,然后将其显示在watch中,而0.1秒后watch将再次触发iostat命令。 5秒钟后,新数据将替换旧数据, watch 将等待0.1秒钟,清洗,漂洗,重复…
第四种思路
尝试使用nmon
sudo apt-get install nmon
尝试:
nmon
输出如下:
按d =磁盘按c = CPU按r = RAM,按v =虚拟内存,内核状态按K,按N =网络并按q或x退出