我正在将一些相当大的数据集加载到firefox(500 k左右)并使用它们绘制表格。 Firefox使用高达400兆的内存。我怎么知道Firefox是在泄漏内存,还是只是因为它可以使用大量内存?
是否有其他浏览器如果不需要它会使用更少的内存?我觉得firefox为自己抓住了一堆内存,除非必须,否则不会释放它。很明显,我对记忆管理的理解一般都是肤浅的。
答案 0 :(得分:9)
你可以在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)
好吧,在1点,Firefox需要大量内存,比如400Mb。 也许在那之后,它不需要那么多内存,但是我觉得firefox为自己抓住了一堆内存,除非必须,否则不会释放它。很明显,我对记忆管理的理解一般都是肤浅的。
由于你的系统不需要这个内存,所以它不会将它回收给Firefox,后者保留了它。
如果您启动其他需要大量内存的进程,那么您的操作系统会将内存声明回其他以高优先级运行的进程。
总结一下我的想法:它可能不是内存泄漏。
是否有其他浏览器如果不需要它会使用更少的内存?
为什么不尝试一下?