3 процесса firefox. Процессы Firefox: почему их много и как сделать меньше
Начиная с релизной версии Firefox 48, ускорить его можно изменив ряд параметров. Хотя данный функционал и был доступен ранее в бета-версиях, но официально Mozilla с 48 версии включила для 1% пользователей этот режим по умолчанию. Так что чем мы хуже? Основное изменение связано с использованием Многопроцессорного режима.
Большинству пользователей на обывательском уровне наверно понятно, что это несет более быстрое отображение сайтов и лучший отклик. Но помимо ускорения, это добавляет надежность, так как теперь одна зависшая вкладка не повлияет на работу остальных и всего браузера. Да и при открытии нескольких вкладок не будет уже таких блокирующих операций, как при работе в однопроцессорном режиме. А так же улучшение безопасности, теперь бяка-коду из-за изоляции будет сложнее получить ресурсы к компонентам браузера, но это в теории.
Чтобы убедиться что этот режим у вас включен, нужно зайти в пункт меню Справка - Информация для решения проблем - находим строку Многопроцессные окна.
Если стоит значение 0/1, то в адресной строке набираем
Стоит отметить, что при использовании этого режима для явного ускорение лисы, может быть не совместимым с установленными дополнениями. Проверить совместимость ваших дополнений можно на этой странице
Напоминаю, перед изменениями скопируйте файл prefs.js из папки с профилем, куда то в отдельное место и если будут проблемы, сможете все настройки вернуть обратно, просто вернув его на место. И так поехали.
Как ускорить Firefox
- browser.tabs.remote.autostart – true
многопроцессорный режим. Вся его прелесть раскрывается при очень динамичном серфинге. Но правда памяти кушает не много больше, чем в однопоточном режиме. - dom.ipc.processCount - 4
сколько процессов будет использоваться. Можно ставить равным количеству ядер процессора - browser.tabs.remote.force-enable – true
включение мультипроцессорного режима, даже если у вас установлены дополнения не совместимые с ним. - extensions.e10sBlockedByAddons – false
расширения не блокируют работу многопроцессорности - extensions.e10sBlocksEnabling – false
разрешить блокировку многопроцессорности - layers.async-pan-zoom.enabled – true
асинхронный скроллинг при загрузке нескольких страниц - dom.ipc.plugins.asyncInit – true
Асинхронная инициализация плагинов. Каждая страница, использующая эти плагины, инициализирует их при открытии, и этот процесс состоит из нескольких этапов во время которых чаще всего браузер и подвисает на некоторое время. Это параметр позволяет от этого избавиться. - javascript.options.asyncstack – true
асинхронный вызов стеков - network.http.pipelining.aggressive – true
В случае проблем с соединением (например сервер прерывает его) используются резервные механизмы для его поддержания - network.http.pipelining.max-optimistic-requests – 8
Максимальное количество запросов в соединении, которое делает FireFox. Больше 8 заметного ускорения загрузки старницы не дает, но зато увеличивает нагрузку на сервер. В интернете очень много статей, где этот параметр явно больше. Не уверен, что это хорошо, ведь сервер должен вернуть ответ в строгой последовательности, а если была например временная проблема, то отображение сайта резко затормозится. Или вообще при большом значении, сервер может посчитать, что его просто ддосят с одного ip и заблокирует вас. Так что об ускорении уже речи идти не может. - browser.panorama.animate_zoom – false
Параметр, отвечающий за анимацию "увеличения" вкладки при выборе её из панорамы (группы вкладок) - network.http.pipelining.maxsize – 524288
вероятно это максимальный размер буфера конвейера - network.http.pipelining.ssl – true
включает или выключает конвейерные запросы через SSL соединение (https) - network.http.proxy.pipelining – true
Использовать несколько запросов в одном соединении с сервером, при использовании прокси.
о конвейеризации - browser.cache.use_new_backend - 1
включение новой системы HTTP кэширования. Позволяет исправить некоторые моменты с отзывчивостью интерфейса - memory.free_dirty_pages – true
высвобождать не используемые страницы памяти. Освобождает память после закрытия вкладок. Положительно скажется на скорости работы Firefox - image.cache.timeweight – 100
Задается вес, по которому определяется как удалять декодированное изображение из кэша. Значение ближе к нулю, акцент при удалении смещается на размер. Ближе к 1000, срок жизни изображения смещается на срок нахождения в кэше.
Если раньше вам казалось, что Лиса тормозила, то вам не казалось. FireFox быстрыми темпами развивается, что то добавляется, что то убирают. За несколько десятков релизов в Mozilla было добавлено столько всего не очень нужного и разношерстного, что вы очень удивитесь, как много всего он может без вашего ведома отсылать\собирать\отправлять куда-то и для какого-то анализа. Думаю в раскрою тему безопасности, так как это хоть и косвенно, но так же влияет на скорость работы самого браузера.
Ну и надеюсь после прочтения этой статьи и применении этих советов, хоть не много, но ускорение у вашего FireFox будет заметно.
Интересное видео, которое реально помогает ускорить загрузку страниц и снизить потребление трафика. Но! После её применения, на сайтах может перестать отображаться часть контента. Как пример, включите ее и обновите эту страницу. У вас может пропасть видео в конце этой статьи.
Так уж сложилось, что Firefox использует однопроцессорную модель, и реальность такова, что такой подход с учётом динамики развития сети и частичной связки с XUL вызывает, мягко говоря, много неудобств. Один процесс должен обрабатывать несколько потоков, что очень сильно сказывается на производительности браузера в целом. Отзывчивость Firefox оставляла желать лучшего, когда тот же Google Chrome прекрасно рендерил тяжёлые страницы, что никак не сказывалось на производительности других вкладок.
Такое положение вещей заставляло многих переходить на хром, а кто не хотел - искал пути решения в виде разного рода оптимизаций, которые по большому счёту из-за нелогичного подхода распределения потоков или банального желания настрочить что-то в блог просто усугубляли ситуацию. Теперь один процесс должен был не просто работать, а очень быстро работать! В конечном итоге и разработчики сами прекрасно понимали, что одно дело - мало памяти, другое - низкая скорость работы, которая в основном оправдана старыми связками с XUL. На деле: открываем в Firefox несколько вкладок сразу, скролим их и в момент загрузки видим, что все тормозит - ни о каком плавном серфинге речи быть не могло.
«Мозилла» начала проект Electrolysis для адаптации движка «Гекко» к использованию нескольких процессов. Что вынуждает «Мозиллу» переключаться на подобную модель построения своего браузера? В первую очередь, это производительность и отзывчивость. Основной целью является уменьшение подвисания (jank), проявляющегося при стандартных операциях - загрузке особенно крупной страницы, наборе текста в веб-форме или прокрутке перегруженной элементами страницы.
Предлагаю воспользоваться новыми функциями многопроцессорной модели (к сожалению, по умолчанию они отключены, так как еще в разработке). Все функции проверены самим автором, и их значения подобраны для максимально быстрой и стабильной работы. Основной упор сделан на производительность и отзывчивость Firefox в условиях агрессивного серфинга. Потребление памяти в сравнении с однопроцессорным режимом должно вырасти где-то на 12%-17% с учетом форсированного использования аппаратного ускорения, а без него не более, чем на 10%.
Так как проект только развивается и не является полностью стабильным, редактируйте в новом профиле а потом сравните результат. Ссылаться на свои результаты считаю неуместным, из-за сырости проекта. Результаты просто-напросто могут разниться кардинально.
Оптимизация
Применимо на всех версиях выше 44beta
Правим about:config:
Browser.tabs.remote.autostart - true (включить многопроцессорность для вкладок) layers.async-pan-zoom.enabled - true dom.ipc.plugins.asyncInit - true (асинхронность плагинов) javascript.options.asyncstack;true layers.acceleration.force-enabled = true (отключить при проблемах с видео) network.http.max-connections = 512 network.http.pipelining = true network.http.pipelining.aggressive = true network.http.pipelining.max-optimistic-requests = 32 network.http.pipelining.maxrequests = 96 network.http.pipelining.maxsize = 600000 network.http.pipelining.ssl = true network.http.proxy.pipelining = true browser.cache.use_new_backend - 1 (новая система кеширования) memory.free_dirty_pages - true browser.tabs.animate = false image.cache.timeweight = 100 browser.display.show_image_placeholders - false nglayout.initialpaint.delay;0 (создать целое) browser.display.auto_quality_min_font_size - (-1)
Browser.display.focus_ring_on_anything (Логическое) = false browser.display.focus_ring_width (Целое) = 0
Защита
Network.dns.disableIPv6 - false network.dns.disablePrefetch - true network.predictor.enabled - false network.predictor.cleaned-up - true network.prefetch-next - false browser.send_pings - false network.http.speculative-parallel-limit - 0 (ноль) privacy.trackingprotection.enabled;true (защита от жучков) browser.safebrowsing.enabled;false browser.safebrowsing.malware.enabled;false datareporting.healthreport.service.enabled;false browser.safebrowsing.downloads.remote.enabled;false extensions.blocklist.enabled - false extensions.getAddons.cache.enabled - false browser.chrome.toolbar_tips - false media.video_stats.enabled - false dom.battery.enabled - false media.peerconnection.enabled=false
Устройства
Dom.gamepad.enabled;false dom.vr.oculus.enabled;false dom.vibrator.enabled
Отключить Hello
Browser.newtabpage.directory.ping - оставить пустую строку browser.newtabpage.directory.source - оставить пустую строку browser.aboutHomeSnippets.updateUrl - оставить пустую строку
Теперь качество работы повыситься в разы. Удачи.
Команда разработчиков Firefox выпустила новую версию браузера с номером 54. Главной особенностью обновленного Firefox является поддержка многопроцессного режима обработки веб-страниц, работа над которым велась восемь лет под кодовым названием Electrolysis (E10S). Представители Mozilla называют новую версию браузера «лучшим Firefox».
Первая версия мультипроцессного Firefox была представлена в августе прошлого года (версия 48). В ней работа с UI была вынесена в отдельный процесс, что делало интерфейс отзывчивым даже при высоких нагрузках на систему. В версии Firefox 54 разработчики пошли еще дальше, организовав работу в нескольких параллельных процессах: каждый со своими ресурсами RAM и CPU, управляемыми операционной системой.
Недостатком при таком подходе обычно остается высокое потребление памяти. Например, Google Chrome по умолчанию создает новый процесс для каждой вкладки и потребляет множество ресурсов. Однако, по словам главы маркетинга Firefox Райана Поллока (Ryan Pollock), в отличие от того же Chrome, Firefox не будет забирать себе всю оперативную память и замедлять работу компьютера пользователя.
В Mozilla отмечают, чтобы избежать излишнего потребления памяти, по умолчанию запускаются только четыре контент-процесса. Вероятно, число четыре - это золотая середина между потреблением памяти и преимуществами многопроцессорных систем. Однако количество процессов можно настроить, перейдя на вкладку about:config и изменив значение dom.ipc.processCount.
Сравнение потребления памяти браузеров ()Пользователи отмечают, что Firefox 54 действительно работает быстрее, по сравнению с предыдущими версиями, и потребляет меньше ресурсов, чем Chrome. Однако если у вас установлены аддоны, которые не поддерживают многопоточную работу, вы не сможете воспользоваться новыми возможностями браузера. Подробную информацию о многопоточной работе Firefox вы найдете в посте Райана Поллока по ссылке .
В дополнение к многопроцессорной работе, Firefox 54 также получил несколько новых WebExtension API, для разработки дополнений, совместимых с другими браузерами. В релизе значатся API для создания боковых панелей, позволяющие размещать локальные HTML-файлы внутри панели. Также была добавлена возможность подключения собственного обработчика протоколов и возможность настройки about:newtab. Помимо этого, был внедрен Privacy API для управления настройками безопасности и приватности (networkPredictionEnabled, webRTCIPHandlingPolicy и hyperlinkAuditingEnabled).
В новом браузере была активирована sandbox-изоляция , ограничивающая доступ подпроцессов Firefox к файловой системе и другим процессам. В Linux изоляция системных вызовов реализована с применением Seccomp-bpf, а также User namespace и chroot. В Windows же применяются библиотеки sandboxbroker и sandboxtarget, разработанные и используемые компанией Google. Еще среди изменений, внедренных в Firefox 54, числится возможность создания и сохранения собственных устройств в Responsive Design Mode для тестирования сайтов (можно задать разрешение экрана, пропускную способность сети и др.).
Также, кроме новшеств и исправления ошибок, в Firefox 54 устранена серия уязвимостей , часть которых была помечена как критические - они могли привести к выполнению кода злоумышленника при открытии фишинговых страниц.
И наконец, с выходом Firefox 54, Mozilla завершает процессы по закрытию канала с Aurora-версиями браузера. Теперь организация намерена использовать принцип поэтапной доставки обновлений для Release-канала, где новые функции, такие как Electrolysis, постепенно добавляются в браузеры небольшого числа пользователей. Если нововведение вызывает всплески отказов, или телеметрические данные указывают на возникающие сложности, Mozilla останавливает развертку обновления и дорабатывает решение.
Таким образом, процесс доставки продукта будет состоять из трех этапов: Nightly, Beta, Stable. Отказываясь от канала Aurora, разработчики надеются ускорить процесс выхода стабильных версий браузера на несколько месяцев.
Полный список изменений нового релиза вы можете найти на сайте разработчиков по ссылке .
P.S. О чем еще мы пишем в нашем блоге:
- IaaS в мире музыки: как облако становится стандартом размещения аудиоконтента
- Почему результат тестирования скорости диска в ноутбуке может быть лучше, чем у промышленного сервера в облаке?