ForkServer в Firefox 141: больше никаких перезапусков и более высокая производительность в Linux

Вы пользуетесь Firefox в Linux и вас раздражают надоедливые сообщения «Требуется перезапуск» после обновления? Или, может быть, вы хотели бы, чтобы браузер работал быстрее и потреблял меньше памяти? Хорошие новости! Компания Mozilla выпустила фантастическое решение под названием ForkServer, специально разработанное для Firefox в Linux, которое решает именно эти проблемы.
В этой статье мы расскажем что такое ForkServer, о его преимуществах и примечательных особенностях последней версии браузера Firefox 141.
Что такое ForkServer?
За прошедшие годы Firefox претерпел значительные изменения, превратившись из однопроцессного браузера в многопроцессную архитектуру. Этот переход, известный как электролиз или e10s, значительно повысил безопасность и производительность за счёт запуска веб-контента в отдельных процессах. Однако создание этих новых процессов по-прежнему требует затрат процессорного времени и памяти.
Вот тут-то и вступает в игру ForkServer. Это специальный процесс, который помогает Firefox управлять и более эффективно создавать новые процессы в Linux.
Инженер Mozilla Александр Лисси вместе с несколькими другими участниками является ключевой фигурой в этой разработке.
Как Это работает?
Традиционно, когда Firefox требуется новый процесс (например, при открытии новой вкладки), он должен загрузить всё с диска.
Если менеджер пакетов Linux обновил Firefox в фоновом режиме, версия на диске может не совпадать с версией, которая в данный момент находится в памяти, что приводит к раздражающим сообщениям «Требуется перезапуск».
ForkServer решает эту проблему, сохраняя «предварительно инициализированный» процесс, готовый к работе, как шаблон.
Затем из этого шаблона можно «разветвить» новые процессы обработки контента, используя метод под названием совместное использование памяти с копированием при записи.
Это означает, что вместо того, чтобы каждый новый процесс запускался с нуля и использовал больше памяти, они используют общие страницы памяти с процессом-шаблоном и копируют данные только тогда, когда они должны измениться.
Эта простая, но эффективная схема позволяет избежать необходимости перезагружать основные библиотеки (libxul.so
) и каждый раз заново настраивать систему.
Ключевые преимущества для пользователей Linux
Внедрение ForkServer даёт пользователям Firefox в Linux несколько важных преимуществ:
- Больше никаких принудительных перезапусков: для многих это огромное облегчение!. Firefox в Linux больше не требует принудительного перезапуска после установки обновления через менеджер пакетов. Это означает более плавную и бесперебойную работу браузера даже во время обновлений системы.
- Снижение потребления памяти: ForkServer приводит к значительному снижению потребления памяти для контентных процессов. Объём базовой оперативной памяти для контентного процесса теперь примерно на 50 % меньше. Это помогает Firefox работать эффективнее, особенно если у вас открыто много вкладок.
- Более быстрый запуск процесса: вы заметите, что время запуска процесса обработки контента сократилось примерно на 35 %. Это означает, что новые вкладки будут открываться быстрее, а общая скорость отклика повысится.
Эволюция архитектуры Firefox
ForkServer — это последний шаг на пути Firefox к созданию высокопроизводительного и безопасного многопроцессного браузера.
Эта эволюция также включает в себя такие инициативы, как изоляция сайта (проект Fission), которая позволяет выделить каждый уникальный веб-сайт в отдельный процесс операционной системы для защиты от сложных угроз безопасности, таких как Meltdown и Spectre.
Эти архитектурные изменения гарантируют, что Firefox останется надёжным, стабильным и безопасным, а также станет более эффективным.
Что нового в Firefox 141?

Firefox 141
В Firefox 141 представлен ряд новых функций, улучшений производительности и безопасности для пользователей.
Вот подробный обзор нововведений в Firefox 141:
1. Больше никаких принудительных перезапусков в Linux
Как мы уже говорили, главным преимуществом для пользователей Linux является то, что Firefox больше не требует принудительного перезапуска после установки обновлений с помощью менеджера пакетов.
Это была распространённая проблема, возникавшая из-за того, что менеджер пакетов обновлял Firefox на диске, в то время как в памяти всё ещё работала более старая версия, что приводило к проблемам с обменом данными при создании новых процессов.
2. Снижение потребления памяти
Firefox 141 «использует меньше памяти» в Linux. В частности, базовый объём оперативной памяти для процесса с контентом примерно на 50 % меньше.
3. Более быстрый запуск процесса
Время запуска процесса обработки контента сократилось примерно на 35 %. Эти улучшения во многом стали возможны благодаря внедрению ForkServer.
ForkServer — это выделенный процесс в Linux, который помогает Firefox более эффективно управлять новыми процессами и создавать их. Он поддерживает «предварительно инициализированный» процесс, который служит шаблоном для «форка» новых процессов с использованием совместного использования памяти с копированием при записи.
Это позволяет избежать необходимости перезагружать основные библиотеки (libxul.so
) и повторно выполнять настройку системы при каждом создании нового процесса. С конца октября в ночных сборках для Linux по умолчанию включен ForkServer.
4. Группировка вкладок с помощью ИИ
В Firefox 141 появилась функция группировки вкладок с помощью искусственного интеллекта, основанная на функции группировки вкладок, добавленной в Firefox 137.
Эта функция может автоматически объединять вкладки в группы, генерировать названия групп на основе предполагаемого содержимого и предлагать другие открытые вкладки, соответствующие той же теме.
Этот процесс происходит локально на вашем устройстве для защиты вашей конфиденциальности. Mozilla заявляет, что это поможет пользователям сосредоточиться, сэкономить время и избавиться от беспорядка, хотя это не всегда работает надёжно.
Эта функция внедряется поэтапно, то есть некоторые пользователи могут увидеть её раньше других.
5. Конвертер единиц измерения в адресной строке
Теперь вы можете использовать адресную строку Firefox в качестве конвертера единиц измерения. Она поддерживает преобразование единиц измерения длины, температуры, массы, силы, угловых измерений и часовых поясов (например, «сейчас по Гринвичу» или «10 утра по восточному поясному времени в центральноевропейское время»). При нажатии на результат он копируется в буфер обмена.
6. Изменение размера вертикальной вкладки
Для пользователей с вертикальными вкладками в этом обновлении добавлено перетаскивание для изменения размера нижней части боковой панели. Вы можете перетащить этот разделитель, чтобы настроить количество видимых значков инструментов (например, чат-бот с искусственным интеллектом, сводка по искусственному интеллекту, история), освободив больше места для вкладок.
7. WebGPU API (Windows)
WebGPU API теперь включен по умолчанию в Windows. Команда разработчиков графики Mozilla планирует выпустить WebGPU на Mac и Linux «в ближайшие месяцы».
8. Расширенная поддержка режима «картинка в картинке» (PiP)
В Firefox 141 добавлена поддержка Peacock, SkyShowtime, Showmax и Now TV в режиме «картинка в картинке».
Также доступно дополнительное форматирование подписей, отображаемых в окне PiP.
9. Изменения в разработчиках и платформах
- Теперь Firefox будет очищать кэш перемотки назад и вперёд при получении заголовка ответа
Clear-Site-Data: "cache"
. - Атрибут
closedby
и связанное с ним свойствоclosedBy
были реализованы в диалоговых окнах и указывают на то, как можно закрыть элементыdialog
. - Поддержка файлов cookie с независимым разделением состояния (CHIPS) снова включена, что позволяет разработчикам выбирать, в какое хранилище помещать файл cookie для каждого сайта верхнего уровня.
HTMLElement.showPopover()
иHTMLElement.togglePopover()
методы теперь принимаютoptions.source
аргумент, аtogglePopover()
также принимает аргументforce
илиoptions.force
, чтобы принудительно открыть или закрыть всплывающее окно.
10. Другие примечательные изменения
- Закреплённые ярлыки на странице «Новая вкладка» теперь отображаются только при наведении курсора.
- Создание текстового фрагмента использует алгоритм, требующий меньше памяти и ресурсов процессора.
- Увеличен тайм-аут прокси-сервера Wayland, что положительно сказывается на производительности графики.
- Поддерживается протокол Xdg-activation Wayland.
- Автозаполнение адреса включено для пользователей из Бразилии, Испании и Японии.
- В Firefox на Windows 11 теперь используются системные значки шрифтов для кнопок с подписями.
- Firefox использует валенсийский язык теперь поставляется со встроенным каталонским (валенсийским) словарём для проверки орфографии.
- Для перевода доступны новые языки, в том числе албанский, гуджарати, иврит, хинди, каннада, малайский, малаялам, персидский и телугу.
- И, что ещё важнее, было применено множество исправлений безопасности.
Более подробную информацию можно найти в официальном примечании к выпуску Firefox 141: https://www.mozilla.org/en-US/firefox/141.0/releasenotes/.
Обновите или установите Firefox 141 прямо сейчас!
ForkServer включен по умолчанию в ночных сборках Firefox для Linux с конца октября 2024 года.
Такие преимущества, как снижение потребления памяти и отсутствие принудительных перезапусков, уже реализованы в последней версии Firefox 141, которая выйдет 22 июля 2025 года.
Firefox 141 уже доступен на Flathub. Убедитесь, что в вашей системе установлен flatpak и включен flathub, а затем установите его с помощью команды:
flatpak install flathub org.mozilla.firefox
Вскоре он будет доступен в официальных репозиториях большинства дистрибутивов Linux. Для установки последней версии Firefox можно использовать менеджер пакетов по умолчанию, например apt в системах на базе Debian.
Заключение
Благодаря ForkServer Firefox продолжает повышать производительность и удобство использования в Linux, делая вашу повседневную работу в браузере более плавной и надёжной, чем когда-либо прежде.
Если вы используете последнюю версию Firefox 141 в Linux, то теперь можете наслаждаться этими замечательными улучшениями!
Редактор: AndreyEx