我最近遇到了 Firefox 运行非常慢的问题,当我打开许多选项卡时;比如 20 个选项卡。我的整个系统都会变慢。
我决定尝试一下 Google Chrome,一开始一切正常。但最近我发现它也拖慢了整个系统。查看任务管理器,chrome.exe 在任务管理器中大约 6 个不同的条目中使用了大约 250MB 的内存。但是,当我关闭 Chrome 时,内存使用量减少了大约 600MB。这是怎么回事?
(显示结束 Chrome 后内存使用量下降。)
当我的系统因 Chrome 打开许多标签而锁定时,需要 10 秒钟才能加载“开始”菜单,10 秒钟才能展开“所有程序”以及每个文件夹和子文件夹,30 秒钟后程序才会在鼠标下突出显示。切换到记事本也需要 10 秒钟。
为什么 Chrome 占用的内存比任务管理器显示的要多得多?我的内存只有 1.1GB,为什么我的页面文件却被占用了?我可以将 Chrome 设置为在 RAM 中运行而不是在页面文件中运行吗?20 个标签页怎么会占用 600MB?也就是说每个标签页占用 30MB。
答案1
这并不是 chrome 实际使用的内存量。其中大部分实际上是进程之间的共享内存。实际上,chrome 占用的 RAM 比任务管理器显示的要少得多。
请参阅以下文章了解更多信息 http://blog.chromium.org/2008/09/google-chrome-memory-usage-good-and-bad.html
答案2
为什么 Chrome 占用的内存比任务管理器显示的多得多?为什么我的内存只有 1.1GB 左右,但页面文件却被占用了?我可以将 Chrome 设置为在 RAM 中运行而不是在页面文件中运行吗?20 个标签页怎么会占用 600MB?也就是说每个标签页占用 30MB。
您的体验很正常。我现在打开了 72 个标签页(同时运行多个项目),Chrome 占用了 2.7 GB 的虚拟内存(2 GB RAM + 700MB 页面文件)。每个标签页大约占用 37MB(我最差的标签页占用 170MB)。我甚至禁用了 Flash 插件——否则占用的内存会更多。
您应该查看 Chrome 自己的任务管理器,方法是单击“扳手”图标,工具->任务管理器。这比 Windows 任务管理器更有帮助,因为它会明确哪些选项卡占用的内存最多。
开发人员自己也承认,当您打开多个标签页时,Chrome 会比单进程浏览器占用更多内存,因为某些程序数据必须为每个标签页复制。这是因为 Chrome 会为每个新标签页启动一个新进程(除非您在新标签页中打开链接,这时它似乎会与包含原始链接的标签页共享一个进程)。
这在可靠性(因为一个坏标签页不会让整个浏览器崩溃)、安全性(一个恶意网站不太可能危及其他标签页的数据)和性能(当前标签页获得优先权并可以更快地执行)方面具有明显优势。作为交换,您必须为其提供额外的内存。
与长时间会话相比,多进程架构确实具有内存优势:当您关闭选项卡时,它可以更好地释放内存。
这是网络浏览的未来。由于现在大多数计算都是在网络上进行的,因此网络浏览器需要相同的多进程架构,以便为 Windows/Mac/Linux 等传统操作系统提供可靠性。(IE8 添加了此功能,我预计其他浏览器也会这样做。Firefox 将插件放在自己的进程中,我认为不同选项卡使用不同的进程是他们的路线图。)
您的系统没有太多 RAM。您只有 1GB,但当今出售的现代系统都至少有 2GB,大多数至少有 4GB。升级到 4GB 可能对您来说很便宜。
答案3
对于 Chrome,您可以在菜单工具中找到“任务管理器”。它将显示内存的使用情况。您可以看到浏览器使用的基本内存量,以及每个选项卡和每个扩展程序使用的另一个内存量。
在办公室,我也使用 Chrome,卸载了所有花哨但不需要的扩展程序,并尝试同时打开较少数量的标签。Chrome 为每个标签设置了一个单独的进程,以保护它们免受其他标签的不良行为/崩溃的影响,但这会带来内存使用开销。我体验到每个标签占用 30MB 内存(对于大页面,有时会占用更多内存)
由于您只有 1GB 的 RAM,如果您需要同时打开很多标签进行浏览,您或许可以考虑扩展它。不幸的是,我们一无所获……
答案4
我不是 Chrome 用户,但我可以讨论 Windows XP 下的内存使用情况。您的机器有 1 GB 内存(总物理内存)。在我看来,这太低了。当您加载 Windows XP 时,它通常会消耗大约 500 MB,而不会加载其他应用程序。
加载 Firefox(或 Chrome)后,它开始向 Windows 请求内存。剩余的可用内存相对较少,因此 Windows 开始将内容交换到页面文件,以免内存耗尽。