Почему веб-страницы занимают так много оперативной памяти?

25

После того, как в Chrome открыто несколько страниц, мой компьютер работает медленно. Диспетчер задач Windows показывает, что некоторые страницы занимают много оперативной памяти:

введите описание изображения здесь

  1. Почему они занимают так много оперативной памяти?
  2. Есть ли способ узнать, сколько оперативной памяти занимает каждая страница, чтобы я исследовал ее?

Спасибо.

OverTheRainbow
источник
9
В Chrome тоже есть свой менеджер задач . И введите, chrome://memory-redirect/если вы хотите еще.
Slhck
1
Спасибо за совет. Оказывается, Chrome не использует один процесс для одной вкладки / страницы: процесс может указывать на одну вкладку и множить несколько веб-страниц, поэтому я не могу сказать, какой из них использует объем ОЗУ.
OverTheRainbow

Ответы:

23

Chrome является самым тяжелым потребителем оперативной памяти на рынке браузеров. Он обменивает увеличенное использование памяти на увеличенную скорость. Однако, если у вас мало доступной оперативной памяти, он становится самым медленным браузером на рынке (по сравнению с браузером, который был бы достаточно маленьким для использования ресурсов, чтобы полностью оставаться в оперативной памяти вместо подкачки на жесткий диск).

Здесь команда разработчиков Chromium обсуждает преимущества и недостатки этой модели памяти, используемой в Chrome .

И здесь вы можете настроить Chrome для использования альтернативных моделей памяти с различными компромиссами, включая режим одиночного процесса «стиль Firefox»: http://dev.chromium.org/developers/design-documents/process-models

Syclone0044
источник
8
  1. Почему веб-страницы занимают так много оперативной памяти?

Chrome использует модель для каждого процесса, что означает, что для каждой вкладки (или группы связанных вкладок) он использует отдельный процесс вместо отдельного потока. Это в основном означает, что каждая вкладка является отдельной запущенной программой. Таким образом, если происходит сбой, они отключаются самостоятельно, а не отключают весь браузер (это делает то же самое для плагинов и большинства расширений).

Это имеет свои очевидные преимущества (песочница является основной), но, конечно, у нее также есть недостатки, такие как тот факт, что у каждого из них есть накладные расходы памяти, что означает, что Chrome использует больше ОЗУ в целом для того же набора открытых страниц, чем браузеры, которые делают не использовать модель для каждого процесса (другие браузеры начали переходить на этот метод с момента выпуска Chrome).

Как вы заметили, правило для каждого процесса не обязательно означает, что каждая вкладка получает свой собственный процесс. Это зависит от того, как страница была открыта. Использование кнопки « Открыть в новой вкладке» или « Открыть в новом окне» открывает страницу / ссылку в том же процессе, что и родительский, но открывает в инкогнито окне, открывает ее в новом процессе, как и новая вкладка и новые команды окна .

Другая причина того, что страницы занимают много ОЗУ, заключается в том, что в наши дни большинство веб-страниц содержат много JavaScript и Flash, что делает их загружаемыми как по процессору, так и по ОЗУ (что также означает, что старые системы не могут комфортно просматривать Интернет, поэтому больше такая вещь, как «бывшая в употреблении, но удобная для просмотра система»). Хуже того, плагины и расширения (и, возможно, даже сам Chrome) через некоторое время могут привести к утечке памяти , увеличивая время использования памяти.

  1. Есть ли способ узнать, сколько оперативной памяти занимает каждая страница, чтобы я исследовал ее?

К сожалению, нет (известного / простого) способа увидеть использование памяти на странице. Ближайший способ - нажать Shift+Escили щелкнуть правой кнопкой мыши на полосе вкладок и выбрать «Диспетчер задач», чтобы увидеть использование памяти для каждого процесса.

Одна вещь, которую вы можете попробовать, - это открыть каждую страницу в новом процессе (используя один из вышеупомянутых методов), а затем сравнить.

Bobson
источник
Спасибо, я собирался задать вопрос для этого ответа. Я не могу поверить, что простая веб-страница может занимать 300 МБ.
Федерико Понци
1

Попробуйте гаечный ключ, инструменты, инструменты для разработчиков, аудит

Множество предложений по повышению эффективности вашей веб-страницы объясняет, почему определенные веб-страницы других людей используют чрезмерные ресурсы.

RedGrittyBrick
источник
Я говорю не о своих веб-страницах, а о веб-страницах, которые я читаю в сети, и в итоге они высасывают так много оперативной памяти, что мне приходится добавлять их в закладки, перезагружать Chrome и заново открывать страницы.
OverTheRainbow