adblock check

Chrome вовсе НЕ пожирает оперативную память. Это врёт Windows, вот как именно

Главная страница «Диспетчера задач» показывает не совсем ту информацию, которую пользователи ожидают увидеть, и это приводит к заблуждениям

Такое ощущение, что шутки о чрезмерном потреблении оперативной памяти браузером Chrome существуют столько же, сколько и сам веб-обозреватель. И они небеспочвенны, ведь программа всегда нуждалась в слишком уж большом количестве ресурсов по сравнению с конкурентными решениями, и разработчики из Google всегда старались оптимизировать её. За последние годы они добились ощутимых успехов, но шутки о прожорливости Chrome никуда не делись, ведь в любой момент можно открыть «Диспетчер задач» и увидеть, как браузер даже с одной вкладкой может потреблять несколько сотен мегабайт. Но здесь есть загвоздка — информация, которая по умолчанию отображается этой утилитой Windows, некорректная. Вернее, она вводит пользователей в заблуждение, отображая совсем не те значения, которые юзеры ожидают увидеть.

Chrome не пожирает память, а резервирует её

На самом деле, «Диспетчер задач» на своей главной вкладке в столбце «Память» показывает объём неиспользуемой памяти для каждого из процессов, а «общей», и в этом ключевая загвоздка. Дело в том, что сюда относится как действительно используемая браузером память, так и зарезервированная.

Как и многие другие программы, Chrome резервирует память для того, чтобы в случае необходимости (открытия новых вкладок, запуска тяжёлых элементов на веб-странице и прочего) иметь возможность использовать её. Более того, в столбце «Память» утилита Windows учитывает ещё и файл подкачки процесса — часть SSD или HDD, где хранятся давно не используемые данные.

Резервирование памяти — это хорошо, а не плохо

Важная особенность резервирования памяти в том, что такой подход не особо влияет на ресурсы системы. Он известен как Commit-based memory («Память на основе обязательств») и, если сильно упрощать, заключается в следующем:

  1. При открытии вкладки Chrome запрашивает у операционной системы больше оперативной памяти, чем нужно на данный момент — на случай, если понадобится использовать больше ресурсов для обработки содержимого страницы.
  2. Операционная система резервирует запрошенный объём памяти, помечая в своём диспетчере, что эти ресурсы (пусть и не используемые в данный момент) отведены под Chrome.
  3. В процессе работы Chrome использует ту часть полученных ресурсов, которые действительно необходимы в текущий момент — если вкладка закрывается, то браузер высвобождает и все зарезервированные мегабайты.

    Однако если операционная сталкивается с нехваткой памяти, то она легко забирает у Chrome зарезервированные неиспользуемые мегабайты, и это никак не сказывается на функционировании браузера.

Единственный нюанс в том, что та же Windows может забрать зарезервированную браузером оперативную память только в том случае, если посчитает её нехватку достаточно серьёзной для нормального функционирования системы.

Chrome резервирует чуть ли не 5 раз больше, чем ему нужно

Чтобы увидеть разницу между реально потребляемой оперативной памятью и общей выделенной, включая зарезервированную, в случае с Windows достаточно либо открыть «Монитор ресурсов» и перейти во вкладку «Память», либо запустить «Диспетчер задач», перейти на вкладку «Сведения» и добавить на неё столбики «Выделенная память» и «Память (активный частный рабочий набор)».

Chrome вовсе НЕ пожирает оперативную память. Это врёт Windows, вот как именно — Chrome резервирует чуть ли не 5 раз больше, чем ему нужно. 1

Чтобы не вдаваться в сложные технические детали, достаточно посмотреть на столбики частно используемой памяти и сравнить её с «Завершённой»/«Выделенной» — сравнение будет несколько некорректным, но наглядным для общего понимания того, сколько тот или иной процесс Chrome действительно потребляет памяти, а сколько резервирует.

На практике видно, что в некоторых случаях браузер резервирует чуть ли не в 5 раз больше того, сколько реально использует. Но здесь важно отметить, что такое нескромное поведение присуще только маленьким процессам. Судя по всему, чем тяжелее процесс, тем меньше дополнительной памяти Chrome резервирует — например, в рамках моего мини-эксперимента у самого тяжёлого процесса на 155 540 КБ реально используемый объём памяти составил около 57%, а у самого маленького на 6 616 КБ — лишь около 22%.

Расчёт объёма резервируемой памяти — это комплексный вопрос, и просчитать, сколько мегабайт на что конкретно ушло, нельзя. Но известно, что веб-обозреватель анализирует содержимое вкладок (активные скрипты и мультимедиа) и обучается на прошлом опыте пользователей.

Chrome всё равно «плохой», но не настолько, как принято считать

Хотя браузер только резервирует память, а не расходует, её всё равно может не хватать другим процессам или элементам системы, которые Windows считает не особо важными, чтобы для них отбирать зарезервированные мегабайты. К тому же другие браузеры тоже используют вышеописанный подход Commit-based memory, и они почему-то задействуют меньше ресурсов.

Но не стоит заблуждаться: если главная вкладка «Диспетчера задач» показывает, что 10 открытых вкладок Chrome израсходовали 3 ГБ оперативной памяти, это необязательно сигнализирует о несовместимости браузера со слабыми компьютерами. Те самые якобы израсходованные мегабайты показывают лишь объём ОЗУ, который нужен для максимально производительной работы Chrome при возможном возникновении дополнительных потребностей со стороны используемых сайтов.

BoobyBoo85 BoobyBoo85
Без вести проспавший
Комментариев пока нет
Оставьте комментарий...
Оставьте комментарий...