在 Mac OS X 上,为什么 Firefox 分配内存,而在不再需要时不释放它?

在 Mac OS X 上,为什么 Firefox 分配内存,而在不再需要时不释放它?

我也在其他浏览器中看到了这种情况,但我不喜欢它们,所以我不在乎。为什么 Firefox 的内存使用量(如“活动监视器”中“内存”下的“内存”选项卡中所示)不断增长,甚至在关闭那些我知道会占用更多内存的页面(例如 Facebook)后也是如此,以至于 Firefox 的性能在鼠标简单移动后就变成了一个旋转的轮子,而我的 Mac 上的其他应用程序也同样受到影响,直到我按下那个小红按钮(重新启动)或者,如果 Firefox 停止响应,使用 kill -9 或强制关闭?在我看来,Firefox 正在动态分配内存,但在不再需要时却无法释放它。

仅就其价值而言,我已经看到了禁用所有插件的相同问题,并且我已经看到了从 Mac OS X Lion 到 High Sierra 的旧版本和支持(大多数)我的插件的最新版本的 Firefox 上的问题...无法移动到较新的版本,直到在较新的版本中重新添加对它们的支持。

我的系统是 Mac Mini,配备 8 GB RAM 和 Intel i7 双核 CPU。

这不是一个罕见的问题...这是一个日常问题。如果 Firefox 的内存签名变得太大(通常约为 1.3 或 1.4 GB),它首先会停止响应,然后直接崩溃。

现在,重启 Firefox 后,它的大小为 1 GB,比操作系统内核大约大 300 MB...但几分钟前它还是 700 MB。当我关闭此选项卡时,我希望它能恢复到之前的 700 MB...但事实并非如此。

而且,在阅读了 2015 年的类似帖子(没有回答我的问题……或者如果回答了,我没有看到答案)后,我看到有人说,即使该内存已分配给 Firefox,但 Firefox 不再使用该内存,其他应用程序(例如 GIMP)也可以愉快地使用该内存,只要 Firefox 不使用它,但仍在使用它。那么,为什么这似乎总是行不通呢?如果这就是“现代操作系统”管理内存的方式,为什么其他应用程序和程序(例如图像编辑器(例如 GIMP))不能从 Firefox 释放该内存并将其用于自己用途?

再次强调,我说的是 Firefox 需要并动态分配、使用的内存,然后,当这种需要消失时,不会释放它,而不是它当时使用的内存。Firefox 变得越来越大……直到它自己崩溃,我用插件栏中的重新启动按钮重新启动 Firefox,或者如果它没有响应,不得不求助于 kill -9 或从活动监视器强制关闭(我 99% 确定这是一个用于 kill -9 的 GUI 界面).....

相关内容