我有一台功能强大的工作站 PC,内存非常大。我经常使用一个 Web 应用程序(实际上是 Mailchimp),它使用了大量阻止 JavaScript。在某些情况下,它必须等待请求完成后才能解除阻止,这可能需要几分钟。我同时处理多个 Mailchimp 页面,在过去的几个月里,Chrome 有时会在一个进程中打开所有 Mailchimp 页面(为什么?),因此当阻止请求需要几分钟时,我只能等待其他选项卡重新开始工作。
那么,有没有什么方法可以强制 Chrome 在自己的进程中打开每个选项卡?谷歌搜索似乎只会给出相反的结果,这显然不是我想要的。
编辑:这是问题的屏幕截图(在 Chrome 的任务管理器中)。我还没有找到解决这个问题的方法。该屏幕截图是在右键单击现有窗口的任务栏按钮并单击 Chrome(6 次)后拍摄的,然后在地址栏中输入 Mailchimp 地址并在每个选项卡上转到不同的页面。但它们不知何故仍然连在一起了。这非常令人沮丧。
编辑2:我了解了命令行开关--process-per-tab
,但即使添加了该开关(并使用 Process Explorer 确认 Chrome 正在使用该开关运行),问题仍然存在。这非常令人沮丧,因为几个月前这绝对不是问题,而且似乎越来越严重。
答案1
我突然意识到,最近几个月我打开的标签比以往多得多,我想知道 Chrome 是否试图通过合并一些标签来限制这么多标签的内存使用。标签数量的增加是由于我习惯将与未完成项目相关的标签窗口拖到另一台显示器上,并将它们保留到以后(“以后”通常是指几个月后)。
我有四个窗口,每个窗口都有很多标签,因此我抓取了 Session Buddy 并将每个窗口保存为一个会话,以便以后可以恢复,这使我的标签数从大约 64 个减少到了 15 个。执行此操作后,Chrome 立即停止合并我的 Mailchimp 标签。
根据证据,我认为 Chrome 会尝试将一些标签合并为一个进程,以防止在打开大量标签时内存使用量过高。这意味着解决方法是减少打开的标签页数量。我将认为这是正确答案,除非有相反的证据。
答案2
默认情况下,Chrome 浏览器会为您使用的每个选项卡或额外扩展程序创建一个完全独立的操作系统进程。如果您打开了多个不同的选项卡并安装了各种第三方扩展程序,您可能会注意到有五个或更多进程同时运行。