我的计算机只有4GB的内存,并且在铬或铬上打开8-12个随机标签经常会冻结我的计算机。目前我正在使用google-chrome-stable --process-per-site
。这在一定程度上有所帮助。是否可以在单个过程中运行铬或铬?谁能给我一些有关如何控制chrome过度使用内存的提示?
zram
,该软件包为zram-config。帮助避免长时间冻结。
我的计算机只有4GB的内存,并且在铬或铬上打开8-12个随机标签经常会冻结我的计算机。目前我正在使用google-chrome-stable --process-per-site
。这在一定程度上有所帮助。是否可以在单个过程中运行铬或铬?谁能给我一些有关如何控制chrome过度使用内存的提示?
zram
,该软件包为zram-config。帮助避免长时间冻结。
Answers:
您可以使用一个插件来编写未使用的打开选项卡的内存以进行交换。它释放了大量的内存,因此CHrome / chromium显示更少的内存消耗。
在插件的网上商店中搜索Tab-suspender。
https://chrome.google.com/webstore/detail/tab-suspender/fiabciakcmgepblmdkmemdbbkilneeeh
我以这种方式使用cgroup:
sudo cgcreate -a $USER:$USER -t $USER:$USER -g memory:groupChromiumMemLimit
sudo cgset -r memory.limit_in_bytes=$((1024*1024*1024)) groupChromiumMemLimit
cgexec -g memory:groupChromiumMemLimit chromium-browser
铬本身似乎在交换,有时可能会变慢,但不会使整个系统挂在交换其他应用程序上,因此只要铬/铬“达到1GB限制”就将交换。
但是...如果您查看htop,您会看到许多铬处理过程,它们将常驻内存的总和略超过1GB,我想我需要更多有关此方面的信息。
还没有尝试memory.soft_limit_in_bytes
查看它是否有某种帮助,如/superuser//a/1168435/157532提供的链接所建议。
但是总的来说,铬所使用的RAM比以前少得多,并且显然被交换了很多,因此尽管我在htop看到了什么,但是这些cgroup命令仍在工作,因此cgroup似乎试图使用“不多”来保持铬超过1GB”就足够了。
top
以字节,MB,GB或TB显示内存使用情况。这些是1000的幂而不是1024的幂。这可能就是为什么您看到它略高于目标的原因。
/sys/fs/cgroup/memory/myGroup/memory.limit_in_bytes
?
我有同样的问题,但我并不孤单:Chrome / Chromium占用大量内存。有时,这会导致系统死机(在我的情况下为Linux Mint 17)。
作为一种解决方法,我开始使用此Chrome扩展程序:伟大的悬念
但是还有其他几种解决方案,例如linuxcgroup
(https://gist.github.com/juanje/9861623)
我已将其他解决方案附加到对类似问题的第一个答案。
无论如何:Chrome是一个很好的(可能是最好的)网络浏览器,并且今天的网站有很高的要求(很多JS,canvas,SVG,嵌入视频,网络套接字..)。尝试削减某些功能-不是一个好主意。我要解决的唯一一个问题(至少对我来说):没人想坐在冻结的系统附近。