25

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

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

Спасибо.

3 ответа3

23

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

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

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

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

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

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

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

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

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

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

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

1

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .