我的笔记本电脑内存不足,无法运行游戏,而 Chrome 是内存占用最大的程序。我只在更新时重启电脑,而且我通常会让 Chrome 一直运行,打开太多标签,不停地运行,所以它消耗内存是可以理解的。让我烦恼的是,即使我仔细检查并开始修剪标签,也没有看到像预期的那样多的内存返回。据记录,我唯一的插件是 adblock,我试过禁用它,但似乎并没有解决根本问题。
作为一个实验,我打开了一个 chrome,关闭了所有选项卡,只留下一个选项卡,该选项卡打开了 stack exchange 主页。我查看了 windows 任务管理器和 chrome 自己的任务管理器报告的内存使用情况。然后我完全关闭了 chrome,重新打开它,并立即导航到同一个 stack exchange 站点并检查了内存使用情况,我发现新重新打开的 chrome 和之前打开的 chrome 之间存在相当大的内存差异。
查看 chrome 的任务管理器,主要 chrome 进程的内存使用量从约 400K 降至约 100K,adblock 插件的内存使用量同样从 250K 降至 100K。分配给 stack exchange 选项卡的内存使用量大致相同,其他所有进程的内存消耗量都微不足道,不值得关注。
在我让 Chrome 运行期间,大约有半 GB 的内存似乎被“泄露”了。我对内存管理的一般方法了解很多,并且对 Chrome 持怀疑态度,因此推测这部分内存并没有被泄露,因为 Chrome 现在已经分配了过多的可用内存,只是急于释放它。
我的主要问题是,有没有更好的方法来回收这些过度分配的内存,而不必完全重启 Chrome?假设我花时间清理了一半的标签,但仍然希望另一半保持打开状态。我可以让 Chrome 整合已使用的内存并释放多余的内存,这样 Chrome 只保留我想要保留的标签实际需要的内存,同时返还足够的内存,以免在我敢尝试玩游戏时损坏我那可怜的笔记本电脑?