谷歌将修复 Win10 Chrome 恼人内存占用和崩溃问题
12月23日消息外媒 Windows Latest 报道,随着 Windows 10 版本 2004 的发布,微软对操作系统中的 “Segment Heap”内存管理功能进行了改进,并增加了对 Web 浏览器等桌面(Win32)程序的支持。
“Segment Heap”也被引入 Chromium 开源项目,谷歌计划用这个功能来修复臭名昭著的 Chrome 浏览器的内存占用问题。不过,谷歌团队现在决定在 Chrome 浏览器中禁用新的 “Segment Heap”实现,他们现在将启用 “ParitionAlloc-Everywhere”。
ParitionAlloc-everywhere 功能从 8 月开始就在开发中,现在看来正在稳步推进。根据一份文件显示,PartitionAlloc-Everywhere 有其自身的好处:减少了 Chrome 浏览器中的内存使用、分配器和提高了安全性。
获悉,这使得谷歌 Chrome 更有效地管理内存,从而降低内存的使用量,同时它也将减少潜在的安全问题。
谷歌 Chrome 浏览器的安全性将使用 “MiraclePtr”来提高,这需要 PartitionAlloc。
谷歌强调即将到来的变化的文件目前是内部测试的,很难预测 Chrome 浏览器何时会得到必要的变化,但更多的细节可能会在 2021 年上半年分享。
谷歌将修复 Chrome 浏览器崩溃的问题除了内存使用的改进,谷歌表示,测试表明,如果 Windows10 的 TerminateProcess 功能用于更多的进程类型,可能会导致更少的浏览器崩溃。
谷歌指出,干净利落地退出一个进程是困难的,也是代价昂贵的,尤其是对于复杂的软件。
Chrome 浏览器已经逐渐转向使用 TerminateProcess 来处理更多的进程类型。该公司提出了一项新的改变,将在 Headless 浏览器中启用 TerminateProcess,这可能导致更少的浏览器崩溃。
“这将避免 Windows 上一些实用程序进程崩溃。我认为将这一政策应用于所有 Headless 进程类型是一个值得尝试的做法。TerminateProcess 已经在许多进程类型中帮了大忙。”谷歌软件开发人员 Bruce Dawson 解释说。
微软和谷歌都认为减少 Web 浏览器的 RAM 内存使用量是很重要的,但像 Segment Heap 和 ParitionAlloc 这样的改进会根据你的机器实现而有所不同。
值得注意的是,微软已经启用了 “现代堆实现”来减少 Edge 内存使用量,而 Edge 团队正在研究另一个名为 “睡眠标签”的功能,带有额外的内存管理改进。