Safari 在 macOS 或 iOS 上吃掉 1.5GB 以上的内存,听起来可能有些夸张,但如果你习惯同时打开十几个标签页、频繁刷视频、运行在线文档,这种状况其实相当普遍。页面切换开始变得卡顿、风扇高速运转,或者系统直接弹出提示“此网页正占用大量内存”——这时候别犹豫,需要分层次进行清理,而不是简单地重启了事。

下面按步骤操作,每一步都有明确目标:从暴力释放内存到精准锁定问题进程,最后还能处理那些顽固的 Service Worker 缓存。
强制退出并重启 Safari 释放锁定内存
最直接快捷的方法:点击苹果菜单 → 强制退出 → 选中 Safari → 强制退出。这一操作能瞬间终止所有隐藏的渲染子进程和扩展后台任务。需要注意的是,系统不会自动保存未关闭的标签页,但重启后会恢复上次会话(前提是你已在 Safari 设置 → 常规中开启“重新打开上次的窗口和标签页”)。
等待 5 秒后再重新打开 Safari,随后查看活动监视器中的内存占用。如果仍然高于 800MB,说明问题不在前台进程,需要继续下一步。
用活动监视器精准关闭高耗内存分页
每个标签页对应一个独立的“Safari Web Content”进程。那些包含视频、Canvas 动画或大型 React 应用的页面,很容易消耗 300MB 以上内存。如何定位?
- 打开“应用程序 → 实用工具 → 活动监视器”,切换到“内存”标签页。
- 双击“内存”列标题,按降序排列,优先关注那些超过 300MB 的“Safari Web Content”条目。
- 查看该进程右侧“PID”旁显示的网页标题(例如“YouTube - 视频播放页”),然后切回 Safari,务必使用 Command + W 关闭对应标签页,而不是仅仅刷新——刷新无法释放被 JavaScript 长期持有的 DOM 对象内存。
禁用全部扩展排查隐性泄漏源
扩展有时是内存泄漏的隐形推手。进入 Safari → 设置 → 扩展,取消勾选所有扩展项,关闭设置窗口。之后重启 Safari,打开活动监视器对比内存占用。如果明显下降,则逐个启用扩展,每次启用后访问常用网站并停留两分钟,再次检查内存。经验表明,uBlock Origin、1Password、Grammarly 这三个扩展最常引发内存缓慢攀升,可以优先排查。
Mac 端执行全量历史与网站数据清除
这一步会触发 WebKit 内核级重置——不仅删除 Cookie 和历史,还会强制注销所有 Service Worker、清空 Cache Storage、销毁 IndexedDB 数据库文件,并重建本地存储索引结构。操作路径:Safari 顶部菜单栏 → “历史记录” → “清除历史记录…” → 时间范围选择“所有历史记录”→ 务必勾选‘Cookie 与网站数据’ → 点击“清除历史记录”。浏览器会自动退出并重启,所有本地存储空间将被不可逆释放,Service Worker 状态归零。
iOS/iPadOS 端一键清除全部网站数据
如果你是 iPhone 用户,当存储空间告急且愿意接受所有网站重新登录时,此方法立竿见影。操作后 Safari 能释放数百 MB 到数 GB 空间,具体取决于你的浏览强度。路径:打开“设置” → “Safari 浏览器” → 滑到底部点击红色字体的“清除历史记录与网站数据” → 再次确认。操作完成后,Safari 会自动关闭所有已打开网页,缓存文件、Cookie、IndexedDB、LocalStorage 及浏览历史全部被删除。
启用开发菜单直清缓存 + 强制刷新绕过 Service Worker
有些网页总是加载旧版 JS、出现白屏或离线功能失效,大概率是 Service Worker 在后台强行复用缓存。此时普通清理难以奏效,需要绕过它。先打开 Safari → 设置 → 高级 → 勾选“在菜单栏中显示‘开发’菜单”。然后关闭设置,点击顶部新出现的“开发”菜单 → 选择“清空缓存”。接着切换到问题网页标签页,按住 Option + Command + R 执行硬性重载——这个组合键会忽略已注册的 Service Worker,强制从网络拉取全新资源。
所有步骤执行完毕,Safari 应该就能恢复清爽状态。如果问题依然存在,可能需要考虑系统级别的资源管理策略,或检查是否有其他应用在后台大量消耗内存。
