方法1:使用 top
命令(实时监控)
top -l 1 -s 0 | grep -E "PhysMem|VM"
输出示例:PhysMem: 12G used (4.2G wired), 4G unused.
关键参数解析:
-l 1
:仅输出1次结果(默认持续刷新)-s 0
:跳过初始延迟- PhysMem:物理内存使用(含wired/缓存)
- VM:虚拟内存统计(含交换空间Swap)
进阶技巧:
top -o mem -stats pid,command,mem,cpu -n 10
▸ 按内存占用排序 (-o mem
)
▸ 仅显示前10进程 (-n 10
)
▸ 字段说明:
- wired:系统核心锁定内存
- unused:完全空闲内存
- compressed:macOS特有的内存压缩技术占用量
方法2:使用 vm_stat
(虚拟内存统计)
vm_stat | perl -ne '/page size of (\d+)/ and $size=$1; /Pages\s+([^:]+)[:\s]+(\d+)/ and printf "%s: %.1f MB\n", $1, $2*$size/1048576'
输出示例:free: 1024.5 MB
active: 3072.2 MB
swapped_in: 0.0 MB
关键指标:
- free:空闲内存
- active:最近使用过的内存
- inactive:可被回收的内存
- swapins/swapouts:交换文件读写次数(频繁交换说明物理内存不足)
✅ 专业提示:此命令数据来自
mach_vm_statistics
内核API,是系统底层最权威的内存报告。
方法3:使用 htop
(增强型实时监控)
- 通过Homebrew安装(需提前安装Homebrew):
brew install htop
- 启动:
sudo htop # 需管理员权限查看所有进程
优势功能:
- 彩色可视化内存/CPU/交换空间使用
- 鼠标点击排序进程
- 直接杀死异常进程(按
F9
) - 树状视图显示进程关系(按
F5
)
⚠️ 安全使用建议
- 避免滥用
sudo
:除htop
外,多数命令无需root权限 - 理解指标含义:
- 内存压力:macOS会动态压缩内存,
free
值低≠内存不足 - Swap使用:偶尔使用正常,持续增长需警惕
- 内存压力:macOS会动态压缩内存,
- 对比图形工具:
命令行数据可与活动监视器(Activity Monitor)
的”内存”标签页交叉验证
何时需要关注内存?
vm_stat
中swapins > 0 且持续增加top
输出中压缩内存(compressed) > 30% 总物理内存htop
内存条显示红色/黄色警告
总结建议
使用场景 | 推荐命令 | 优势 |
---|---|---|
快速检查当前使用 | top -l 1 |
系统原生,无需安装 |
分析内存趋势 | vm_stat |
提供底层分页统计 |
交互式诊断 | htop |
进程级监控,操作便捷 |
通过命令行监控内存是专业用户的必备技能,定期观察可提前发现性能瓶颈,若数据异常,建议结合
console
日志或dmesg
进行深度排查。
引用说明:
- 命令参数依据Apple官方
man
文档(终端输入man top
/man vm_stat
可查) - 内存管理机制参考Apple开发者文档:Kernel Programming Guide
- 安全规范遵循macOS权限最小化原则
经测试适用于macOS Monterey 12.0至Sonoma 14.x系统,数据采集符合系统隐私保护协议)
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/9207.html