当前位置: 首页>>技术教程>>正文


performance – 如何监视特定驱动器上的磁盘活动?

,

问题描述

我想观看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退出

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/7866.html,未经允许,请勿转载。