我正在寻找一种方法来获取一段时间内写入磁盘的数据量。
具体来说,在一天结束时,我希望能够找出一天中写入磁盘的总字节数。
我一直在寻找解决方案,但还没有任何运气。我以为我很接近iostat,但这似乎只监视当前活动。我想我正在寻找可以分析过去活动的东西。
您说iostat只监控当前活动,但它是一个非常灵活/强大的工具,有很多选项。例如,您可以按照这些简单的步骤实现您的确切目标。
首先,打开 Mac OS X “终端”并运行此命令,您可以获得已连接磁盘的列表:
diskutil list
Run Code Online (Sandbox Code Playgroud)
在我的系统上,输出是这样的:
/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
Run Code Online (Sandbox Code Playgroud)
现在看分区看父母的要检查的磁盘,但要注意到/dev/disk0,/dev/disk1,/dev/disk2,所显示等...磁盘/设备编号。假设您要检查传输到的数据disk0;所以iostat像这样输入以下命令:
iostat -Id disk0
Run Code Online (Sandbox Code Playgroud)
我的 Mac OS X 10.9.5 系统上的输出是这样的:
disk0
KB/t xfrs MB
17.12 1277872 21364.96
Run Code Online (Sandbox Code Playgroud)
该行数据反映了从安装设备到iostat运行命令的数据传输统计信息。设置的两个选项iostat如下;文本直接取自手册页,您可以通过man iostat从命令行输入来查看:
-d:仅显示设备统计信息。如果打开此标志,则仅显示设备统计信息,除非-C或-U或-T还指定启用 CPU、平均负载或 TTY 统计信息的显示。
-I:显示给定时间段的总统计数据,而不是该时间段内每秒的平均统计数据。
返回的三个幻数 - 描述为KB/t,xfrs和MB- 分解如下:
如果你想实时监控——比如每 3 秒的间隔——你可以运行这个带有-w标志的命令:
iostat -Idw 3 disk0
Run Code Online (Sandbox Code Playgroud)
我的 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
Run Code Online (Sandbox Code Playgroud)
第一个数字就像第一个例子;累积到命令运行的那一刻。接下来的项目是每 3 秒更新一次。前3项是盘基本接近休息。接下来的 3 个较高数字上下波动的项目反映了我在“Finder”中打开驱动器并浏览了一下这个例子。
如果您愿意,可以将这些iostat命令集成到 Bash 脚本中,并可能在 cron 作业中运行它们,但这超出了本问答线程的范围。
| 归档时间: |
|
| 查看次数: |
4166 次 |
| 最近记录: |