返回博客

Mac 运行缓慢?如何找到并终止占用资源的进程

系统排查 Mac 变慢的完整指南——找到导致 CPU 飙升、内存不足和磁盘 I/O 瓶颈的进程,选择正确的方式终止或管理它们。

Mac 变慢几乎总是因为某个或某几个进程占用了过多资源——CPU、内存或磁盘 I/O。解决方法听起来很简单:找到问题进程,然后杀掉它。但真正的难点在于:怎么确定该杀哪个,以及杀掉它到底是不是正确的做法。本文从快捷键到高级诊断工具,逐一介绍 macOS 上的所有方法,帮你让 Mac 恢复流畅。

快速结论

为什么你的 Mac 会变慢?

macOS 在任意时刻都运行着数百个进程——系统守护进程、后台代理和用户应用同时争夺三类关键资源:

  1. CPU —— 当某个进程独占 CPU 核心时,其他一切都会变慢。常见元凶包括失控的浏览器标签页、构建工具和 Spotlight 索引服务 mds_stores
  2. 内存 (RAM) —— macOS 使用内存压缩和交换(swap)来应对内存压力,但一旦交换活动增加,磁盘 I/O 就会飙升,整个系统开始卡顿。根据 Apple 内存使用性能指南,当物理内存不足时 macOS 会先压缩内存页,只在万不得已时才写入磁盘——而这恰恰是你感受到明显变慢的时刻。
  3. 磁盘 I/O —— 大量读写数据的进程(Time Machine 备份、Xcode 索引、数据库引擎)可能占满存储带宽,即使 CPU 和内存看起来正常,应用也会出现彩虹转圈。

修复慢速 Mac 的关键是弄清瓶颈在哪类资源以及哪个进程是罪魁祸首

方法一:键盘快捷键强制退出

macOS 上终止无响应应用最快的方法:

  1. Cmd + Option + Esc(⌘ + ⌥ + Esc)。
  2. 在列表中选择无响应的应用。
  3. 点击强制退出

局限性

这个方法适合你已经确定某个应用卡死、只需要快速关闭它的场景。

方法二:活动监视器

活动监视器是 Apple 内置的进程管理工具,显示所有运行中的进程及基本资源指标。

查找并终止进程

  1. 打开活动监视器(按 Cmd + Space,输入”活动监视器”,回车)。
  2. 点击 CPU 标签页,按 % CPU 降序排列,找到最耗资源的进程。
  3. 选中该进程,点击工具栏中的 X 按钮(停止)。
  4. 先选择”退出”。如果进程不停止,再点击”强制退出”。

检查内存压力

切换到内存标签页。底部的内存压力图表是关键信号:

检查磁盘活动

切换到磁盘标签页,查看哪些进程读写量最大。按写入的字节数排序,可以找到持续写入 SSD 的进程。

局限性

方法三:终端命令

终端提供精确、可脚本化的进程控制能力。

查找资源占用高的进程

# 按 CPU 占用率排序实时显示(持续更新)
top -o cpu

# 一次性快照:所有进程按 CPU 降序
ps aux --sort=-%cpu | head -20

按 PID 终止进程

# 优雅终止(SIGTERM)—— 让进程有机会清理
kill 12345

# 强制终止(SIGKILL)—— 立即结束,无清理
kill -9 12345

按名称终止进程

# 终止所有匹配名称的进程
killall Safari

# 强制终止
killall -9 node

查找磁盘 I/O 过高的进程

# 实时监控每个进程的磁盘 I/O(需要 sudo)
sudo iotop

# 替代方案:使用 fs_usage 追踪文件系统调用
sudo fs_usage -f filesys | head -100

局限性

方法四:ProcXray —— 深度进程诊断

当慢速 Mac 的原因并非某个明显失控的应用时,你需要更深层的可见性。ProcXray 在一个界面中提供 CPU、内存和磁盘 I/O 的实时监控,以及远超活动监视器和终端的诊断工具。

实时性能图表

ProcXray 顶部工具栏同时显示 CPU 使用率、内存压力和网络 I/O 的实时指标,选中进程后下方详情面板的 History 选项卡显示该进程的 CPU 和内存历史趋势图表。与活动监视器的快照视图不同,这些图表展示连续趋势——让你轻松发现内存持续攀升的进程(可能的内存泄漏)或 CPU 周期性飙升的进程。

你可以固定可疑进程并持续观察其资源趋势,这对诊断那些”打开活动监视器就消失”的间歇性卡顿至关重要。

进程树视图

切换到树视图,查看完整的父子层级关系。这很重要,因为:

短命进程捕获

ProcXray 用绿色高亮标记新生成的进程,用红色标记刚退出的进程,即使进程已经终止也会保持可见。这能捕获那些编译器调用、Shell 辅助工具、定时任务等短命进程——它们可能消耗大量资源,却在活动监视器刷新之前就已经退出。

智能进程管理

右键点击任意进程即可执行操作:

诊断磁盘 I/O 瓶颈

打开任意进程的连接标签页,查看所有打开的文件描述符——该进程正在读写的每个文件。如果一个进程打开了数百个文件,它很可能就是磁盘 I/O 瓶颈的来源。这等同于运行 lsof -p <PID>,但以结构化、可过滤的界面呈现。

环境变量检查

有时 Mac 变慢是因为配置错误——某个后台进程运行在调试模式、构建工具开启了详细日志、或者某个应用加载了巨大的插件目录。ProcXray 的环境标签页显示进程继承的每个环境变量,你可以一键导出为 JSON 做进一步分析。

系统化修复慢速 Mac 的流程

与其盲目杀进程,不如按以下诊断流程操作:

第一步:确定瓶颈类型

症状可能的瓶颈检查方法
风扇狂转,应用卡顿CPU按 CPU 使用率排序——找超过 100% 的进程
切换应用慢,出现彩虹转圈内存检查内存压力——黄色/红色说明有问题
保存文件慢,应用短暂冻结磁盘 I/O检查各进程的磁盘读写速率
什么都慢多重瓶颈三项全查——通常是级联效应

第二步:找到元凶

第三步:杀、暂停还是深入调查?

场景操作建议
冻结的应用,完全无响应强制退出(Cmd + Option + Esc 或 kill -9
后台进程临时占用过多 CPU暂停它,完成你的工作后再恢复
不认识的进程先检查——查看代码签名、可执行文件路径和父进程,再决定是否终止
系统进程(kernel_taskWindowServer不要杀——调查根本原因(通常是散热或外设问题)
父进程不断生成资源密集型子进程杀父进程,而不是子进程

对比:Mac 进程终止方法

能力强制退出 (⌘⌥⎋)活动监视器终端ProcXray
终止用户应用支持支持支持支持
终止后台进程不支持支持支持支持
显示 CPU/内存/磁盘 I/O不支持分开的标签页top/iotop同时显示
进程树视图不支持不支持有限支持
捕获短命进程不支持不支持不支持支持
暂停并恢复进程不支持不支持kill -STOP右键菜单
检查环境变量不支持不支持macOS 无 /proc支持
代码签名验证不支持不支持codesign 命令支持
正则搜索进程不支持文本过滤grep内置支持

常见问题

活动监视器显示 CPU 不高,为什么 Mac 还是很慢?

瓶颈可能不在 CPU。检查内存压力(黄色或红色表示系统正在写入交换区)和磁盘 I/O(某个进程可能在大量读写 SSD)。另外,短命进程会在活动监视器刷新周期内完成并退出,根本不会显示出来。ProcXray 能捕获这些瞬态进程,即使它们已经退出也会保持可见。

强制杀掉进程安全吗?

强制终止(kill -9 或”强制退出”)发送 SIGKILL 信号,进程会被立即结束,没有机会保存数据或清理资源。对于浏览器、编辑器等用户应用,你可能丢失未保存的内容。对于系统进程,强制终止可能导致系统不稳定。务必先尝试优雅退出(kill <PID> 发送 SIGTERM),只在进程完全无响应时才使用强制终止。

如何阻止 kernel_task 占用大量 CPU?

kernel_task 是 macOS 在机器过热时用来限制 CPU 的机制。你不能也不应该杀掉它。应该解决根本原因:断开可能导致散热问题的外设、确保通风口未被遮挡、重置 SMC(Intel Mac),或检查是否有传感器故障。Apple 的支持文章 HT207359 详细介绍了这一问题。

macOS 上退出、强制退出和 Kill 有什么区别?

如何找到占用磁盘 I/O 最多的进程?

在活动监视器中,切换到磁盘标签页,按写入的字节数排序。在终端中,运行 sudo iotop 实时监控每个进程的磁盘 I/O。在 ProcXray 中,选中进程后下方详情面板的 Open Files 选项卡可以查看该进程打开的所有文件描述符,精确了解它在读写哪些文件。

能一次性杀掉一个进程及其所有子进程吗?

在终端中,可以用 kill -- -<PGID> 杀掉整个进程组,但获取 PGID 需要额外命令。ProcXray 的树视图直接展示完整层级——右键点击父进程终止它,macOS 会自动清理行为正常的孤儿子进程。

参考资料


下载 ProcXray → — 免费 14 天试用,支持 macOS Sonoma+,Apple Silicon 与 Intel。