如何防止 chrome 占用超过 4GB 的内存。他有时会决定占用 7GB(总共 8GB RAM),让我的电脑无法使用。
你有什么帮助吗。
PS:我什至没有打开超过 10 个标签。编辑:也许我做了......像15这样的东西。无论如何我希望chrome冻结或关闭而不是冻结整个系统。
如何防止 chrome 占用超过 4GB 的内存。他有时会决定占用 7GB(总共 8GB RAM),让我的电脑无法使用。
你有什么帮助吗。
PS:我什至没有打开超过 10 个标签。编辑:也许我做了......像15这样的东西。无论如何我希望chrome冻结或关闭而不是冻结整个系统。
我相信你会想要使用类似
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 一开始就使用了这么多内存,这真是太疯狂了。首先尝试清除重新安装/重新编译,看看是否不能解决问题,因为它确实不应该使用那么多内存,而且这个解决方案只是真正问题的创可贴。
我相信您可以使用ulimit实用程序。-d选项: ulimit (3) 手册页
即使没有对服务器的root访问权限,您也可以降低软限制。
另一种改进 Chrome 行为的方法是简单地配置 JavaScript 堆限制。启动 Chrome 时将其添加到命令行:
--js-flags="--max_old_space_size=80 --max_semi_space_size=80"
这告诉 JavaScript GC 将内存使用限制在 160M 以下。当然,您可以根据具体情况更改数字。