我主要使用 Firefox 作为我的网络浏览器。我注意到在打开和关闭一些选项卡后,Firefox 的内存占用变得越来越大。
这一事实经常导致我让它崩溃(故意使用任务管理器),然后再次打开它,只选择我需要的一些选项卡。有时我会打开所有之前打开的选项卡。有趣的是,即使在这种情况下,内存使用量也远低于关闭 Firefox 之前的水平。
所以我的问题是为什么会发生这种情况?为什么关闭标签没有帮助(至少没有那么大帮助)?有没有办法在不关闭 Firefox 的情况下减少内存使用量?
答案1
在地址栏中输入 about:memory。点击“最小化内存使用量”。
https://support.mozilla.org/en-US/kb/firefox-uses-too-much-memory-ram
答案2
我首先怀疑的是某些插件存在内存泄漏或大量使用内存的情况。
例如,AdBlock Plus 经常会导致 Firefox 内存使用量大幅增加。原因是它在每个框架中都注入了大型样式表。(Ghostery 是一种更节省内存的替代方案,尽管它的用途不同。)
因此,正如评论中所建议的,如果内存使用情况似乎不合理,请尝试禁用所有插件,看看是否有帮助。
答案3
如果您需要将 RAM 用于其他用途,只需重新启动 Firefox。它也会最大限度地减少内存使用量。
您甚至可以告诉 Firefox 它在重新启动时不必加载所有页面:
Firefox button -> Options -> Tabs -> Don't load tabs until selected
另外,我注意到 Adblock Plus 占用大量内存。Adblock Edge 似乎没有这个问题。禁用 Adblock Plus 也可以释放内存。
答案4
RAM 不能留到以后再用。你唯一的选择就是要么使用它,要么浪费它。一个拥有 8GB RAM 的系统不能今天使用 4GB,明天使用 12GB。
因此,简单地说,Firefox 占用了更多内存,因为不这么做的话,这些内存就浪费了。它不会恢复到初始水平,因为这样做需要付出努力,而且付出这些努力没有任何好处。
事实上,Firefox 有时会使用高达 2Gb 的内存,这对于打开的选项卡的数量和内容来说似乎是不合理的。
如果替代方案是浪费部分 RAM 并且不保存任何数据,那么这是完全合理的。至少,它允许 Firefox 使用最多 2GB 的内存而无需分配更多内存,这是一个胜利。释放和分配内存需要努力。智能系统只有在有预期收益时才会付出努力。它们当然不会做以后可能不得不撤消的工作。
现代操作系统会想方设法地让空闲的 RAM 尽可能少。空闲的 RAM 永远被浪费。如果你在过去一个小时有 1GB 空闲,那么在过去一个小时里你不会从这 1GB 中获得任何好处。如果你在想,“我现在想要空闲的 RAM,以便以后使用”,那就算了吧。你现在可以使用它和稍后再使用。这里无需做出痛苦的权衡。