在 Chrome 中限制 RAM 的使用?

Ove*_*bow 31 google-chrome

当在 Google Chrome 中打开几个标签几个小时/几天时,我注意到有些页面最终使用了大量的 RAM,以至于整个操作系统 (XP) 由于分页而变得无响应。幸运的话,我终于可以将打开的 URL 列表加入书签,关闭 Chrome,然后重新开始;当我不在时,我必须杀死 Chrome 并希望我能恢复打开的 URL 列表。

  • 这是为什么?插件内存泄漏?
  • 有没有办法配置 Chrome,以便单个标签/页面不会使用超过一定数量的 RAM?

谢谢你。

Dan*_* D. 16

  1. 我编写了一个 Python 2.5 程序,当 chrome 的渲染器使用超过一定数量的内存时,它会杀死 chrome 的渲染器。我在watch. (请注意,它使用了Python 中未包含的psutil模块。)

    import sys, os, psutil
    
    if len(sys.argv) == 2:
        try:
            limit = int(sys.argv[1])
        except:
            limit = 200 # default 200MB
    else:
        limit = 200
    
    uid = os.getuid()
    for p in psutil.get_process_list():
        try:
            if (p.name == 'chrome' and any('type=renderer' in part for part in p.cmdline)
               and p.uid == uid):
                m = p.get_memory_info()
                #print p.pid,m, m.rss / 1024 / 1024, m.vms / 1024 / 1024
                if (m.rss / 1024 / 1024) > limit: # kill if rss is greater than limit
                    print 'Killed', p.pid
                    p.kill()
        except psutil.error.NoSuchProcess:
            pass
        except psutil.error.AccessDenied:
            pass
    
    Run Code Online (Sandbox Code Playgroud)
  2. 当 chrome 无法恢复它们时,我依靠Session Buddy来恢复打开的标签。


Tho*_*ner 5

迄今为止,我看到的唯一可以做到这一点的是在容器内运行 chrome限制容器 ram

然而,这有一些主要的警告,

  • dockerize 设置和启动序列使运行 chrome 变得复杂

  • 一方面,Chrome 已经使用内核容器对其线程进行沙箱化;所以你必须以一种允许它工作的 root 权限运行容器。这可以规避,而链接的容器模型就是这样做的。(它几乎完成了它需要的一切)

  • 你几乎肯定会失去 GPU 加速

  • 让音频工作很复杂,但在链接的容器模型中处理。

  • 无论您在保修失效时预计会出现什么其他问题,Chrome 都非常不喜欢被告知不要使用更多内存,并且会相应地采取行动并发脾气。

但它最终确实有效。

我更感兴趣的是将这些 ram 限制应用于没有预先构建的 docker 图像来为您排列它们的 Electron Shell 应用程序。


题外话,但我想指出 Firefox 在有限的硬件上表现非常好,但我不认为这是一个真正的答案。


Wik*_*itz -9

我认为你应该选择购买操作系统可以处理的尽可能多的内存。您不应该限制 Chrome 的 RAM 使用量,因为它只会破坏您的网上冲浪体验。假设您大部分时间都使用计算机上网,您应该让 Chrome 获得所需的所有资源,以便提供您希望同时“享受”运行这些选项卡的性能。

我认为没有办法限制每个选项卡的 RAM 使用量,但您可以完全限制 Chrome 的使用量。看这里:

/sf/ask/13501351/

如果我是你,如果我想要流畅的网上冲浪,我宁愿不这样做。

  • 当您无法控制所使用的计算机(即工作计算机)的内容时,这并不是真正的解决方案 (22认同)
  • @WikiWitz,你低估了 Chrome 消耗的 RAM 量。我有 16 GB 物理 RAM,但仍然不够。 (11认同)
  • Chrome 会消耗尽可能多的 RAM,因此添加更多 RAM 就像在火中投入更多木头一样,会燃烧更多。 (8认同)
  • “假设您大部分时间都使用计算机上网”——这是一个“重大”问题。并非一切都是 Chromebook。 (4认同)

归档时间:

查看次数:

47812 次

最近记录:

4 年,6 月 前