为什么网页需要这么多内存?

Ove*_*bow 25 google-chrome

在 Chrome 中打开一堆页面后,我的计算机变得缓慢。Windows 任务管理器显示某些页面占用大量 RAM:

在此处输入图片说明

  1. 为什么他们需要这么多内存?
  2. 有没有办法知道每页占用多少内存,以便我进行调查?

谢谢你。

Syc*_*044 23

Chrome 是浏览器市场中 RAM 的最大消耗者。它以增加的内存使用量换取更快的速度。但是,如果可用 RAM 不足,它就会成为市场上最慢的浏览器(与资源使用量足够小以完全保留在 RAM 中而不是分页到硬盘的浏览器相比)。

Chromium 开发团队在这里讨论了 Chrome 中使用的这种内存模型的优缺点

在这里,您可以将 Chrome 配置为使用具有各种权衡的替代内存模型,包括“firefox 风格”单进程模式:http : //dev.chromium.org/developers/design-documents/process-models


Bob*_*son 8

  1. 为什么网页需要这么多内存?

Chrome 使用按进程模型,这意味着对于每个选项卡(或相关选项卡组),它使用单独的进程而不是单独的线程。这基本上意味着每个选项卡都是一个单独的运行程序。这样,如果发生任何崩溃,它们会自行关闭而不是关闭整个浏览器(它对插件和大多数扩展程序执行相同的操作)。

这有其明显的好处(沙箱是主要的),但当然它也有缺点,例如每个都有内存开销,这意味着 Chrome 对同一组打开的页面使用的内存比浏览器更多不使用每进程模型(自 Chrome 发布以来,其他浏览器已经开始转向这种方法)。

正如您所指出的,每个进程规则并不一定意味着每个选项卡都有自己的进程。这取决于页面的打开方式。使用在新标签页中打开在新窗口中打开会在与父进程相同的进程中打开页面/链接,但在隐身窗口中打开会在新进程中打开它,就像新标签页新窗口命令一样。

页面占用大量 RAM 的另一个原因是,如今,大多数网页都包含大量 JavaScript 和 Flash,这使得它们既占用 CPU 又占用 RAM(这也意味着旧系统无法舒适地浏览 Internet,因此没有不再是诸如“使用过的、旧的但适合浏览的系统”之类的东西)。更糟糕的是,插件和扩展程序(甚至可能是 Chrome 本身)可能在一段时间后泄漏内存,及时增加内存使用量。

  1. 有没有办法知道每页占用多少内存,以便我进行调查?

不幸的是,没有(已知/简单的)方法可以查看每页内存使用情况。最接近的方法是按下Shift+Esc或右键单击选项卡条并选择任务管理器以查看每个进程的内存使用情况。

您可以尝试的一件事是在新进程中打开每个页面(使用上述方法之一),然后进行比较。


Red*_*ick 1

尝试扳手、工具、开发人员工具、审核

许多提高网页效率的建议是其他人的特定网页使用过多资源的原因。