监控 OS X 中特定驱动器的磁盘 I/O

监控 OS X 中特定驱动器的磁盘 I/O

在我的 Macbook Pro 中,我有两个内置驱动器,并且通过外壳中的 USB 连接了第三个驱动器。

我目前正在对外部驱动器进行安全擦除,并且我有兴趣查看该特定驱动器的磁盘 I/O,但是当我使用活动监视器时,我只能看到所有驱动器的总磁盘使用情况。

有没有办法监控特定驱动器的总 I/O,最好是通过内置或免费的方法?我不想按进程 ID 进行过滤。我只想按已安装的磁盘进行过滤。

编辑:对于正常安装的驱动器,终端程序似乎iostat就足够了。但是,对于未安装的驱动器(例如在磁盘实用程序中被安全擦除的驱动器),iostat 不会显示该驱动器,尽管活动监视器似乎有办法报告其磁盘 I/O。

答案1

检查‘iostat’命令。

您从终端运行命令。运行“man iostat”以获取手册页。

以下是有关在 Linux 中使用它的简要概述。

http://www.cyberciti.biz/tips/linux-disk-performance-monitoring-howto.html

答案2

sudo fs_usage -f diskio -t 1 

很可能会给你提供-t=1秒的信息。

man fs_usage将告诉您数据列是什么。使用-f diskio选项,我得到了以下列:

  • CALL 与网络或文件系统相关的调用、页入、页出或物理磁盘访问的名称。
  • 字节数 形式为 B=x,x 是调用请求的字节数。
  • 磁盘块号 形式为 D=0xnnnnnnnn,其中 0xnnnnnnnn 是正在读取或写入的物理磁盘块的块号。
  • 时间间隔 (W) 系统调用所用的时间。已用时间后面的“W”表示进程在此文件活动期间被调度出去。在这种情况下,已用时间包括等待时间。
  • 进程名称 进行系统调用的进程。宽模式将把线程 ID 附加到进程名称(即 Mail.nnn)。

将几秒钟的B=数值相加就会给出该时间范围内的总数据。

答案3

iotop是个不错的工具。我没有 Mac,但在 Linux 下很好用

答案4

根据此论坛讨论,GeekTool可能提供您需要的功能:

尝试极客工具(教程来自Lifehacker 教程主题MyMac,很多脚本在MacRumors 论坛)。

我无法在工作时访问我的 Mac,但您应该能够使用此工具进行一些监控或查找/创建可执行您需要的操作的脚本。

相关内容