![在 Mac OS X 上,为什么 Firefox 分配内存,而在不再需要时不释放它?](https://linux22.com/image/1555674/%E5%9C%A8%20Mac%20OS%20X%20%E4%B8%8A%EF%BC%8C%E4%B8%BA%E4%BB%80%E4%B9%88%20Firefox%20%E5%88%86%E9%85%8D%E5%86%85%E5%AD%98%EF%BC%8C%E8%80%8C%E5%9C%A8%E4%B8%8D%E5%86%8D%E9%9C%80%E8%A6%81%E6%97%B6%E4%B8%8D%E9%87%8A%E6%94%BE%E5%AE%83%EF%BC%9F.png)
我也在其他浏览器中看到了这种情况,但我不喜欢它们,所以我不在乎。为什么 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 界面).....