Процесс на каждый сайт: вся история в одной строке
Chromium разбит на множество процессов операционной системы: рендереры для вкладок — по одному на сайт (изоляция сайтов разводит разные сайты по разным процессам даже внутри одной вкладки), процесс GPU, сетевая служба, служба хранилища и по процессу на каждое загруженное расширение. Смысл — локализация ущерба: упавший рендерер уносит одну вкладку, а не браузер, и скомпрометированный рендерер не имеет прямого доступа к другим сайтам. Плата — накладные расходы каждого процесса, поэтому двадцать открытых сайтов означают двадцать маленьких Chromium, у каждого своя доля библиотек, JIT-куч и буферов отрисовки.
Набегает быстрее, чем ждёшь, потому что считаются не только вкладки:
- По процессу-рендереру на сайт — десять сайтов в десяти вкладках плюс подгруженные с чужих доменов
- Каждое включённое расширение держит собственный фоновый процесс, даже когда простаивает
- Процесс GPU хранит декодированные картинки, тайлы и кадры видео — вкладка с 4K-видео на YouTube это в основном оно
- Service workers живут и после закрытия вкладки, держа офлайн-приложения наготове
- Предзагруженные страницы из подсказок омнибокса и пререндеринг занимают память ещё до визита
Почему Chrome не отдаёт память обратно
Вторая причина — аллокатор Chromium, PartitionAlloc, который кэширует освобождённые страницы внутри каждого процесса под мгновенное переиспользование, а не возвращает их Windows. «Диспетчер задач» показывает этот пул частью объёма Chrome, хотя формально он свободен, — число выглядит страшнее, чем реальное давление на систему. Под настоящей нехваткой памяти браузер её отдаёт — поэтому Chrome «оживает» после закрытия тяжёлого приложения, — но в простое он осознанно держит то, за что уже заплатил.
Часть удержанной памяти — честное кэширование: кэш «назад/вперёд» хранит отрисованные страницы, чтобы кнопка «Назад» срабатывала мгновенно, а отображения дискового кэша не перечитывают файлы. Поэтому браузер, работающий несколько дней, выглядит тяжелее только что запущенного: он просто закэшировал больше того, что стоит держать под рукой. Это тот самый аргумент «простаивающая память — выброшенная память», и здесь он технически верен: альтернатива — отрисовывать заново каждую страницу, к которой вы возвращаетесь.
Что реально уменьшает аппетит
Включите «Экономию памяти» на странице chrome://settings/performance: она усыпляет неактивные вкладки и освобождает их рендереры — это самый большой рычаг для сессии с кучей вкладок. Дальше ищите настоящих виновников: нажмите Shift+Esc, откройте собственный диспетчер задач Chrome и отсортируйте по памяти — чаще всего один тяжёлый сайт (веб-IDE, видеозвонок, раздутый вебмейл) или одно расширение перевешивает сорок обычных вкладок. Расширения заслуживают особого подозрения: каждое добавляет процесс к каждому окну, и многие работают без остановки.
После этого честный ответ — арифметика, а не магия: меньше спящих вкладок, меньше расширений, ни одного навечно закреплённого дашборда, который никто не читает. Переключение аппаратного ускорения меняет память GPU на нагрузку CPU — на слабой встроенной графике иногда в плюс, иногда наоборот. А вот чего не работает: «чистильщики оперативки», принудительно подрезающие рабочие наборы, — число падает, а браузер заикается, пока заново собирает подрезанное.
Вопросы и ответы
Почему Chrome потребляет так много оперативной памяти?
Он держит отдельный процесс на каждый сайт ради изоляции от сбоев и атак, а его аллокатор кэширует освобождённую память внутри процессов для мгновенного переиспользования. Число в диспетчере включает и память, которую Chrome формально держит про запас.
Как уменьшить потребление памяти Chrome?
Включите «Экономию памяти» на chrome://settings/performance, удалите неиспользуемые расширения и найдите через Shift+Esc, какой сайт или расширение на самом деле ест память. Меньше открытых вкладок работает лучше любых твиков.
Понятно до покупки: что входит в лицензию
Разовый 30-минутный триал даёт доступ к базовым инструментам. Возможности с меткой PRO остаются закрыты до активации платной лицензии.
Читайте также
Написать нам: [email protected]