Изоляция всё умножила
После харденинга времён Spectre Chromium держит каждый сайт в собственном процессе, и Firefox пошёл тем же путём. Сессия из пятнадцати вкладок с парой расширений — это легко двадцать пять процессов и больше: сам браузер, GPU-процесс, сетевой сервис и по рендереру на каждый сайт. Изоляция сайтов — реально хорошая защита: скомпрометированный рендерер не может читать чужие данные. Но каждый процесс платит полную цену за стек отрисовки, и те же пятнадцать вкладок, что в 2014-м жили в одном процессе, теперь платят за вход пятнадцать раз.
Расширения — тоже процессы. Со времён Manifest V3 они работают как событийные service worker: просыпаются, когда срабатывают их правила, и держат контент-скрипты, внедрённые в каждую открытую страницу. Дюжина «маленьких» расширений — это вес нескольких лишних вкладок, а одно расширенное без тормозов может съесть больше всех. Встроенный диспетчер задач Chrome (Shift+Esc) показывает потребление по вкладкам и расширениям с именами — пять минут там полезнее любых общих советов.
Платформа умеет только расти
Браузер отгружает всем один и тот же бинарник, и в нём всё, что умеет современный веб: WebGPU, WebAssembly, WebRTC, WebCodecs, service worker, устанавливаемые приложения. Убрать функцию почти невозможно — где-нибудь банк или интранет до сих пор зависит от API из 2013-го, — так что движок может только накапливать. Каждый релиз ещё и обновляет компоненты в фоне: кодеки, сетевой стек, списки Safe Browsing; браузер, который вы не перезапускали вчера, пропатчил сам себя трижды.
Веб-страницы потяжелели так же быстро. Средняя страница везёт мегабайты JavaScript раньше, чем покажет контент, поверх едут реклама и аналитика, и «лёгкий» новостной сайт спокойно грузит сотню скриптов. Браузер честно показывает, чей вес он несёт: откройте встроенный диспетчер задач и сравните страницу с документацией с каким-нибудь магазином. Движок потяжелел, но груз рос быстрее.
- Полноценный JavaScript-движок с JIT — каждый процесс платит за компилятор, а не только скриптовые тяжеловесы
- GPU-композитинг и кодеки — каждый рендерер несёт свою долю графического конвейера
- Service worker — сайты держат логику в фоне без единой видимой вкладки
- Устанавливаемые PWA — веб-приложение получает собственный рантайм, неотличимый от маленького браузера
- Расширения — по процессу на каждое плюс контент-скрипты, внедрённые в каждую страницу
Что реально сокращает счёт
Честный первый шаг — засыпание вкладок, и оно уже встроено: «спящие вкладки» Edge замораживают фоновые по таймеру, который вы настраиваете, а Memory Saver в Chrome выгружает неактивные и восстанавливает их по клику. Оба механизма возвращают реальную память, и оба позволяют закрепить исключения для сайтов, которые должны жить всегда. Второй шаг — аудит расширений: удалите то, чего не узнаёте, отключите то, что нужно раз в неделю, а не раз в час, и сверьте цифры в диспетчере задач до и после.
Что не работает: погоня за «лёгкими» браузерами. Всё, что работает на том же движке, несёт ту же пер-процессную архитектуру и тот же вес платформы — вы меняете совместимость или обновления безопасности на погрешность округления. Старые форки на заброшенных движках хуже тяжёлых: это непатченная поверхность атаки. Больше RAM — это скучный, но честный фикс, совпадающий с трендом: браузер — это операционная система для веба, и никто не гоняет ОС на минимальных требованиях.
Вопросы и ответы
Почему Chrome открывает так много процессов?
Из-за изоляции сайтов: по процессу на каждый сайт плюс отдельные для GPU, сети и каждого расширения. Это архитектура безопасности, а не утечка — Shift+Esc открывает собственный диспетчер задач браузера с расшифровкой каждого процесса.
«Лёгкие» браузеры потребляют меньше памяти?
Редко ощутимо: один движок — та же пер-процессная цена. По-настоящему лёгкие либо отказываются от изоляции сайтов, либо выходят без обновлений — это обмен безопасности на гигабайты, которых вы чаще всего не получите.
Понятно до покупки: что входит в лицензию
Разовый 30-минутный триал даёт доступ к базовым инструментам. Возможности с меткой PRO остаются закрыты до активации платной лицензии.
Читайте также
Написать нам: [email protected]