如何防止 chrome 占用超过 4GB 的内存。他有时会决定拿走 7GB 之类的内存(总共 8GB RAM),从而使我的计算机无法使用。
你有什么帮助吗?
PS:我什至没有打开超过10个标签。编辑:也许我做了......类似15的东西。无论如何,我希望chrome冻结或关闭而不是冻结整个系统。
答案1
我相信您会想要使用类似的方法cgroups
来限制单个进程的资源使用。
所以你可能想做类似的事情这除了
cgcreate -g memory,cpu:chromegroup cgset -r memory.limit_in_bytes=2048 chromegroup
创建 chromegroup 并将该组的内存使用限制为 2048 字节
cgclassify -g memory,cpu:chromegroup $(pidof chrome)
将当前的 chrome 进程移至组中,并将其内存使用限制在设置的限制内
或者只是在组内启动 chrome,例如
cgexec -g memory,cpu:chromegroup chrome
然而,chrome 一开始就使用这么多内存,这真是太疯狂了。首先尝试清除重新安装/重新编译,看看这是否不能解决问题,因为它实际上不应该使用那么多内存,而这个解决方案只是解决实际问题的创可贴。
答案2
我相信您可以使用极限值公用事业。这-d选项: ulimit(3) 手册页
即使没有,您也可以降低软限制根访问服务器。
答案3
改进 Chrome 行为的另一种方法是简单地配置 JavaScript 堆限制。启动 Chrome 时将其添加到命令行:
--js-flags="--max_old_space_size=80 --max_semi_space_size=80"
这告诉 JavaScript GC 将内存使用限制在 160M 以下。当然,您可以根据具体情况更改数字。