macos无内置命令直接输出全盘文件系统性能值,但可通过diskutil、ioreg等查看硬件信息,iostat、vm_stat等监控实时i/o压力,fio进行基准测试,并用log show排查驱动层异常。
macos 没有内置命令能直接输出“全盘文件系统性能值”(如 iops、吞吐量、延迟等量化指标),终端本身不提供实时基准测试功能。但你可以通过组合命令获取底层存储状态、协议类型、健康度线索,并借助系统工具间接评估性能表现。
查看磁盘型号、协议与连接状态
这是判断性能上限的第一步。不同协议(如 NVMe PCIe 4.0 vs SATA)差异巨大,命令可快速识别硬件层级能力:
- diskutil info /:显示启动卷的文件系统类型(APFS)、总容量、可用空间、是否加密、是否启用快照等;关键字段包括 Protocol(如 PCI-Express)、MediumType(如 SSD)、SmartStatus(如 Verified)
-
system_profiler SPSerialATADataType | grep -A5 "Model"(仅限部分 Intel Mac)或更通用的:
ioreg -r -n "AppleAHCIDiskDriver" | grep -E "(Model|Revision|MediumType)":定位主固态硬盘型号与固件版本 -
ioscan -w0 | grep -i "nvme\|ahci\|pcie"(需先安装
ioscan工具):非原生命令,但可辅助确认控制器拓扑
检查实时 I/O 压力与瓶颈线索
性能问题常体现为持续高延迟或队列堆积,以下命令反映当前负载特征:
- sudo iostat -d -w5:每 5 秒刷新一次磁盘读写速率(KB/s)、I/O 操作数(tps)、平均等待时间(await,单位毫秒)。若 await 长期 >20ms 且 %util 接近 100%,说明磁盘响应拖慢整体流程
- vm_stat 5:观察分页活动(Pageouts)和压缩/解压频率。频繁 Pageouts + high compressor activity 可能因内存不足迫使系统频繁换入换出,间接拖累磁盘 I/O
- fs_usage -f filesys | head -n 50:实时捕获最近发生的文件系统调用(open, read, write, fsync 等),配合 grep 过滤大文件操作,可定位异常密集访问路径
运行轻量级基准测试(需额外工具)
macOS 终端默认不带 dd 或 fio,但可通过 Homebrew 安装标准工具获取真实数值:
- 先安装:brew install fio
- 执行顺序读测试(模拟大文件加载):
fio --name=randread --ioengine=libaio --iodepth=32 --rw=read --bs=1m --direct=1 --size=2g --runtime=30 --time_based --group_reporting - 执行随机写测试(模拟数据库写入):
fio --name=randwrite --ioengine=libaio --iodepth=32 --rw=randwrite --bs=4k --direct=1 --size=1g --runtime=30 --time_based --group_reporting - 结果中重点关注 IOPS(每秒操作数)、bw(带宽 MB/s)、lat(平均延迟 ms)三项
关联系统日志排查异常
某些性能下降由内核层错误触发,日志中可能留下线索:
- log show --predicate 'subsystem == "com.apple.driver.AppleAHCIPort" || subsystem == "com.apple.filesystems.apfs"' --last 24h | grep -i "error\|timeout\|throttle":筛选过去 24 小时 APFS 或 SATA/NVMe 驱动相关报错
- log show --predicate 'eventMessage contains "disk" and eventMessage contains "slow"' --last 1h:查找近期被系统标记为“缓慢”的磁盘事件











