我在Firefox中遇到内存泄漏或内存使用率高吗?

时间:2009-04-03 14:20:18

标签: javascript memory-leaks

我正在将一些相当大的数据集加载到firefox(500 k左右)并使用它们绘制表格。 Firefox使用高达400兆的内存。我怎么知道Firefox是在泄漏内存,还是只是因为它可以使用大量内存?

是否有其他浏览器如果不需要它会使用更少的内存?我觉得firefox为自己抓住了一堆内存,除非必须,否则不会释放它。很明显,我对记忆管理的理解一般都是肤浅的。

6 个答案:

答案 0 :(得分:9)

你可以在firefox中设置一个设置,强制它尽可能多地释放内存:

  1. 在网站上的url工具栏类型 about:config
  2. 一个充满文字的页面 会出现。右击任何地方 并选择新 - >布尔
  3. 为了 名称输入类型 “config.trim_on_minimize”选择 真的
  4. 重启FireFox。

答案 1 :(得分:1)

如果它正在泄漏内存,那么Windows任务管理器中的内存使用量(K数)将继续增长。如果此数字相当一致,则Firefox正常运行。我认为Firefox需要太多的内存才能正常运行。

答案 2 :(得分:1)

  

如何知道Firefox是在泄漏内存,还是只是因为可以使用大量内存?

在其他标签页中打开其他页面。然后关闭“大”标签,查看是否释放了内存。

答案 3 :(得分:1)

  

内存泄漏 - 应该

时未释放的内存

如果Firefox分配用于保存您的数据的内存在您离开页面时被释放,则没有内存泄漏。你可以争辩说Firefox是否使用了太多内存,但这超出了你的范围。

如果没有释放内存,你手上有漏洞。在这种情况下,您应该检查它是否可以在JS代码中处理,或者是firefox错误。如果是后者,请继续使用mozilla bugzilla,然后打开一张票。

答案 4 :(得分:0)

您可以打开Windows性能监视器,查看firefox.exe进程是否随着时间的推移而增加内存,以确认是否存在内存泄漏。

答案 5 :(得分:0)

  

我觉得firefox为自己抓住了一堆内存,除非必须,否则不会释放它。很明显,我对记忆管理的理解一般都是肤浅的。

好吧,在1点,Firefox需要大量内存,比如400Mb。 也许在那之后,它不需要那么多内存,但是

由于你的系统不需要这个内存,所以它不会将它回收给Firefox,后者保留了它。

如果您启动其他需要大量内存的进程,那么您的操作系统会将内存声明回其他以高优先级运行的进程。

总结一下我的想法:它可能不是内存泄漏。

  

是否有其他浏览器如果不需要它会使用更少的内存?

为什么不尝试一下?

相关问题