我正在寻找一种方法来获取一段时间内写入磁盘的数据量。
具体来说,在一天结束时,我希望能够找出这一天中总共向磁盘写入了多少字节。
我一直在寻找解决方案,但还没有找到。我以为我已经接近成功了iostat
,但这似乎只能监控当前活动。我想我正在寻找可以分析过去活动的东西。
答案1
你说iostat
仅监控当前活动,但它是一个非常灵活/强大的工具,具有许多选项。例如,您可以通过遵循这些简单的步骤来实现您的确切目标。
首先,打开 Mac OS X“终端”并运行此命令,您可以获得已连接磁盘的列表:
diskutil list
在我的系统上输出如下:
/dev/disk0
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *500.1 GB disk0
1: EFI EFI 209.7 MB disk0s1
2: Apple_HFS HardDisk 499.2 GB disk0s2
3: Apple_Boot Recovery HD 650.0 MB disk0s3
/dev/disk1
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *2.0 TB disk1
1: EFI EFI 209.7 MB disk1s1
2: Apple_HFS HardDisk_BACKUP 120.4 GB disk1s2
3: Apple_HFS Storage_1 1.9 TB disk1s3
/dev/disk2
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *2.0 TB disk2
1: EFI EFI 209.7 MB disk2s1
2: Apple_HFS Storage_2 2.0 TB disk2s2
现在查看分区以查看您要检查的磁盘,但请记下显示的父/dev/disk0
磁盘/设备编号/dev/disk1
、、/dev/disk2
等。假设您要检查传输到的数据disk0
;因此请输入以下iostat
命令:
iostat -Id disk0
我的 Mac OS X 10.9.5 系统上的输出如下:
disk0
KB/t xfrs MB
17.12 1277872 21364.96
该行数据反映了从设备安装到命令iostat
运行的数据传输统计信息。设置的两个选项iostat
如下;文本直接取自手册页,您可以通过man iostat
在命令行中输入来查看:
-d
:仅显示设备统计信息。如果打开此标志,则仅显示设备统计信息,除非还指定-C
或-U
或-T
以启用 CPU、平均负载或 TTY 统计信息的显示。-I
:显示给定时间段内的总统计信息,而不是该时间段内每秒的平均统计信息。
返回的三个神奇数字(描述为KB/t
、xfrs
和MB
)分解如下:
- 千克/吨:每次传输的千字节数
- 財務系:总转账次数
- MB:传输的总兆字节数
如果你想要实时监控(比如每 3 秒监控一次),你可以使用以下命令运行-w
旗帜:
iostat -Idw 3 disk0
我的Mac OS X 10.9.5系统上的输出如下:
disk0
KB/t xfrs MB
17.13 1279283 21396.20
8.49 74 0.61
8.49 74 0.61
8.49 74 0.61
29.33 193 5.53
62.97 219 13.47
50.51 294 14.50
第一个数字与第一个示例类似;截至命令运行的那一刻,数字是累计的。接下来的项目每 3 秒更新一次。前 3 项表示磁盘基本处于静止状态。接下来 3 项数字较大,上下波动,反映出我在“Finder”中打开驱动器并浏览了一下此示例。
如果您愿意,您可以将这些iostat
命令集成到 Bash 脚本中,并可能在 cron 作业中运行它们,但这超出了本问答主题的范围。
答案2
活动监视器。[应用程序/实用程序。]
磁盘选项卡。