MacOS是否有内置命令可查看磁盘IO输入输出统计信息?
MacOS内置磁盘IO统计命令替代vmstat
不用慌,MacOS自带了几个原生工具,完全可以满足你查看磁盘IO输入输出统计的需求,不用安装任何第三方软件。下面给你详细拆解几个实用的:
1. 带参数的iostat:解锁详细磁盘IO数据
你之前用iostat只看到总字节数,是因为没加扩展参数。试试这个命令:
iostat -d -x 1
-d:只显示磁盘相关统计,过滤掉CPU信息干扰-x:开启扩展统计模式,输出更丰富的IO指标1:每1秒自动刷新一次数据
输出里你重点关注这些指标就够了:
tps:每秒向磁盘发起的IO请求总次数(对应vmstat里的bi/bo相关请求数)rMB/s:每秒从磁盘读取的MB数量wMB/s:每秒向磁盘写入的MB数量%busy:磁盘处于繁忙状态的时间百分比r_await/w_await:读写请求的平均等待时长(毫秒)
这些指标完全能覆盖vmstat里的磁盘IO统计需求,比默认的iostat输出详细太多。
2. top -stats io:实时监控进程级IO
如果想查看单个进程的磁盘读写情况(类似vmstat结合iotop的效果),可以用top的特殊参数:
top -stats io
这个命令会让top只展示IO相关的列,包括:
COMMAND:进程名称PID:进程IDUSER:进程所属用户READ:进程累计读取的字节数WRITE:进程累计写入的字节数RATE:当前每秒的读写速率
在top界面按space键可以手动刷新数据,退出按q即可。
3. vm_stat:辅助查看虚拟内存相关磁盘IO
虽然vm_stat主打虚拟内存状态,但它也能反映磁盘交换(swap)的IO情况,比如:
vm_stat 1
输出里的pageins和pageouts就是磁盘与内存之间的页面交换次数,对应vmstat里的si/so项,能帮你判断是否有大量磁盘交换引发的IO压力。
这些工具都是MacOS原生内置的,完全符合你不想装第三方软件的需求,足够替代vmstat的磁盘IO统计功能啦。
内容的提问来源于stack exchange,提问作者Joey Yi Zhao




