指南/Chrome占用内存过多
Mac上的Chrome占用内存过多?如何找出背后的标签页
简要回答
要找出是哪个标签页在占用Chrome的内存,在Chrome中选取“窗口”→“任务管理器”,按“内存占用空间”排序。每个标签页、扩展程序和帮助程序各占一行,点按“结束进程”即可关闭其中一个。Safari浏览器没有任务管理器:活动监视器会列出Safari浏览器的标签页,通常以网站地址显示。浏览器内存占用高,只有在活动监视器中的“内存压力”变黄或变红时才是问题。这时关闭最占内存的标签页,移除不用的扩展程序,并在Chrome的“性能”设置中打开“节省内存”。Vitals是一款Mac系统监控工具,会把Chrome显示为一行,给出它的全部总量,并拆分为标签页、扩展程序、图形和浏览器本身。
如何在Chrome中找出占用内存最多的标签页
- 01 在Chrome中,从菜单栏选取“窗口”→“任务管理器”。
- 02 点按“内存占用空间”列标题进行排序。最占内存的行排在最上面。
- 03 查看“任务”列。标签页显示为“标签页:”加页面标题,扩展程序显示为“扩展程序:”加名称。其余的是Chrome自己的帮助程序,例如“GPU进程”和“浏览器”。
- 04 选中一个标签页或扩展程序,点按“结束进程”将其关闭。被关闭的标签页会显示错误页面;需要时重新载入即可。
- 05 在活动监视器中点按“内存”,查看底部的“内存压力”。如果是绿色,Chrome的内存占用并没有拖慢Mac。
Brave有同样的任务管理器,在“窗口”→“任务管理器”中。在Edge中,选取“⋯”→“更多工具”→“浏览器任务管理器”。在Firefox中,在地址栏输入about:processes。
Chrome把工作拆分到不同的进程中:每个标签页一个或多个,图形一个,网络一个,每个扩展程序一个。这样一个标签页崩溃不会拖垮整个浏览器,但这也是活动监视器里出现几十行Google Chrome Helper (Renderer)的原因,而且没有一行会告诉你它是哪个标签页。浏览器自带的任务管理器可以,它是首先要看的地方。
是什么在占用内存,在哪里查看
| 浏览器 | 在哪里查看每个标签页的内存 | 备注 |
|---|---|---|
| Chrome | “窗口”→“任务管理器” | 按“内存占用空间”排序。“节省内存”在“设置”→“性能”中 |
| Safari | 活动监视器→“内存” | 标签页进程通常以网站地址命名 |
| Edge | “⋯”→“更多工具”→“浏览器任务管理器” | 睡眠标签页在“设置”→“系统和性能”中 |
| Brave | “窗口”→“任务管理器” | 与Chrome相同的任务管理器 |
| Firefox | 在地址栏输入about:processes | about:memory中有一个减少内存使用的按钮 |
浏览器内存占用高是问题吗?
通常不是。在16 GB的Mac上,开着30个标签页的浏览器用了6 GB,这是在正常工作:让页面随时待命,切回去时立刻显示。macOS会从没在用的App那里收回内存,并在动用磁盘之前先压缩剩下的内存。
判断是否要紧的数值,是活动监视器“内存”标签页底部的内存压力。绿色表示一切都装得下,不管浏览器总共用了多少。浏览网页时变黄或变红,说明浏览器占用了其他App需要的内存,这时下面的步骤会有帮助。
是什么让标签页变得很占内存
繁忙的浏览器中,大部分内存都被少数几类页面占用。
- 整天开着的网页App,例如Gmail、Slack、Figma、Notion和Google文档。它们会在内存中保存大量内容,好让响应更快。
- 视频和直播,它们要保存画面帧和缓冲;还有带很多视频的页面,例如社交媒体信息流。
- 开了好几天、滚动时不断加载更多内容的页面。
- 在每个页面上运行的扩展程序,例如广告拦截器、密码管理器和写作助手。每一个都可能给每个标签页增加内存占用。
- 存在内存泄漏的页面:你什么都没做,它在任务管理器中的“内存占用空间”却一直在涨。
真正能降低占用的做法
关掉那一个很占内存的标签页,比任何泛泛的设置都管用,所以先从浏览器任务管理器最上面的几行开始。
- 关闭或重新载入最占内存的标签页。开了好几天的标签页,重新载入后往往只剩原来的一小部分。
- 在Chrome中打开chrome://extensions,移除不用的扩展程序。在每个页面上运行的扩展程序会给每个标签页增加内存占用。
- 在Chrome的“设置”→“性能”中打开“节省内存”。它会释放你有一阵子没看的标签页所占的内存,切回去时这些标签页会重新载入。
- 如果浏览器的总量几天来一直在增长,偶尔退出并重新打开它。在Chrome的“设置”→“启动时”中选择“继续浏览上次打开的网页”,标签页就会恢复。
- 别用内存清理App。它们强行释放的内存浏览器会马上再要回去,在恢复之前一切都会更慢。
活动监视器为什么显示这么多Chrome进程
活动监视器会单独列出每个进程,而Chrome就有几十个:Google Chrome是浏览器本身,Google Chrome Helper负责网络和其他服务,Google Chrome Helper (GPU)负责图形,Google Chrome Helper (Renderer)负责标签页和扩展程序。选取“显示”→“所有进程,分层显示”,即可看到它们归在Google Chrome下面。
把“内存”列加起来会高估总量,因为帮助程序共享的内存在每个进程里都算了一遍。Chrome的任务管理器、Vitals和“内存压力”图表都比你自己算的总和更可靠。
Vitals能多做什么
Vitals把Chrome显示为一行,并拆分为标签页、扩展、图形和浏览器本身。
- 每个浏览器一行,所有帮助程序都已计入,所以旁边的数值就是浏览器全部的内存和CPU占用
- 深入Google Chrome:把总量拆分为标签页、扩展、图形和浏览器本身。Safari浏览器、Firefox、Edge、Brave、Arc和Dia同样如此,Slack、VS Code等类似App则按窗口拆分
- 每个App 30天的内存数据,让你看出浏览器是这一周都在增长,还是只有今天
- App内存不断增长时,以及Mac内存不足时,都会发送通知,并指出占用最多的两个App
须知
- 标签页会合并计算。浏览器不会告诉其他App哪个进程属于哪个标签页,所以只有浏览器自带的任务管理器能指出具体的标签页。出于同样的原因,在Firefox中扩展会和标签页合并计算。
- Vitals不会关闭标签页或扩展。它可以在询问后退出浏览器。
常见问题
Mac上的Chrome为什么占用这么多内存?
每个标签页、扩展程序和帮助程序都作为单独的进程运行,而Gmail、Slack和Figma这类网页App会在内存中保存大量内容。在Chrome中选取“窗口”→“任务管理器”,看看哪个最占内存。
如何查看哪个Chrome标签页占用内存最多?
在Chrome中选取“窗口”→“任务管理器”,点按“内存占用空间”列。标签页显示为“标签页:”加页面标题。选中一个并点按“结束进程”即可关闭它。
Safari浏览器比Chrome更省内存吗?
这更多取决于页面和扩展,而不是浏览器本身。用你自己的标签页比较一下:活动监视器会列出Safari浏览器的标签页,通常以网站地址显示;Chrome的任务管理器则按标题列出它的标签页。
在活动监视器中退出Google Chrome Helper安全吗?
这会关闭那个帮助程序正在运行的内容:一个标签页、一个扩展程序或Chrome的图形。Chrome会恢复过来,但那个标签页的状态会丢失。不如用Chrome的任务管理器,在那里能看清你要关闭的是哪一个。
Chrome的“节省内存”有用吗?
有用,前提是开了很多标签页且内存压力为黄色或红色。它会释放有一阵子没用的标签页所占的内存,切回去时这些标签页会重新载入。
有没有能显示Mac上浏览器总内存占用的App?
Vitals把每个浏览器显示为一行,它的所有进程都已计入,并拆分为标签页、扩展、图形和浏览器本身。