我的笔记本电脑已经用了 8 年了,只有 2GB 的内存,而 Chrome 却总是占用所有内存。有没有办法控制 Chrome 或它的内存缓存占用的内存量?
为了更加清楚,我并没有询问任何磁盘缓存。
如果答案是我应该“直接用 Google 搜索一下”,那么请告诉我您搜索了什么,以便我可以提高我的 Google 能力。
答案1
我认为没有办法对 RAM 使用量进行硬性限制。如果你仔细想想,当你达到限制时,Chrome 会做什么?关闭页面?不让你做任何其他事情?
除了硬性限制,还有手动管理 RAM 使用的方法。您可以使用任务管理器 (Shift+Esc) 查找占用 RAM 最多的页面并关闭它们。还有一个隐藏的清除功能,您可以通过添加
--purge-memory-button
作为 Chrome 快捷方式的参数。使用此命令行参数启动后,您将获得清除内存如果内存不足,任务管理器中的按钮可以释放内存。
您可以阅读更多有关此内容的内容这里。
答案2
如果您想严格限制内存使用量,您应该使用称为cgroups
或专门的内核功能memory cgroup
。
官方文档:https://www.kernel.org/doc/Documentation/cgroup-v1/memory.txt和https://www.kernel.org/doc/Documentation/cgroup-v2.txt(有关 cgroups 的更多信息,请访问https://www.kernel.org/doc/Documentation/cgroup-v1/)
以下是 Ubuntu Linux 的一个示例:http://www.fernandoalmeida.net/blog/how-to-limit-cpu-and-memory-usage-with-cgroups-on-debian-ubuntu/(我认为 Ubuntu 仍然使用 v1 接口来访问 cgroups。)
内存 cgroup 确实强制限制内存,这与设置任何ulimit
配置不同,如果您需要与没有足够新的 Linux 内核的系统兼容,这是最接近的功能。