我有一台带有大量 RAM 的强大工作站 PC。我经常使用一个使用大量阻塞 Javascript 的网络应用程序(实际上是 Mailchimp)。在某些情况下,它必须等待请求完成才能解除阻塞,这可能需要几分钟。我一次处理几个 Mailchimp 页面,在过去的几个月里,Chrome 决定有时在一个进程中打开所有 Mailchimp 页面(为什么?),所以当阻塞请求需要几分钟时,我只是等待让其他选项卡重新开始工作。
那么,有没有办法强制 Chrome 在自己的进程中打开每个选项卡?谷歌搜索似乎只会给我相反的结果,这显然不是我想要的。
编辑:这是问题的屏幕截图(在 Chrome 的任务管理器中)。我还没有找到解决这个问题的方法。屏幕截图是在右键单击现有窗口的任务栏按钮并单击 Chrome(6 次)后截取的,然后在地址栏中输入 Mailchimp 地址并转到每个选项卡上的不同页面。然而不知何故,他们最终还是走到了一起。这非常令人沮丧。
EDIT2:我了解了 cmdline 开关--process-per-tab
,但即使添加了该开关(并使用 Process Explorer 确认 Chrome 正在使用该开关运行),问题仍然存在。这很令人沮丧,因为几个月前这绝对不是问题,而且似乎越来越糟。
我突然想到,最近几个月,我打开的标签页比以往多得多,我想知道 Chrome 是否试图通过组合一些标签页来限制这么多标签页的内存使用。选项卡数量的增加是由于我习惯将与未完成项目相关的选项卡窗口拖到我的另一台显示器上并保留它们以供以后使用(“以后”通常是几个月)。
我有四个窗口,每个窗口都有一堆标签,所以我抓住了 Session Buddy 并将每个窗口保存为一个我以后可以恢复的会话,这将我的标签数量从大约 64 个减少到 15 个。在这样做之后,Chrome 立即停止合并我的 Mailchimp 标签.
根据证据,我会说 Chrome 试图通过将一些选项卡组合到一个进程中来防止在打开大量选项卡时内存使用率过高。这意味着解决方法是减少打开标签的数量。我将认为这是正确的答案,除非另有证明。
资源