The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

В рамках проекта MemShrink развернута борьба с утечками памяти в Firefox

15.06.2011 09:58

Несмотря на предпринятые оптимизации, потребление памяти в Firefox 4 оставляет желать лучшего. Осознавая, что проблема с потреблением памяти недооценена и требует срочного решения, в рамках инициативы MemShrink несколько разработчиков решили форсировать процесс выявления и устранения утечек памяти в браузере. Первая встреча участников инициативы MemShrink состоялась 14 июня, на встрече обсуждены находящиеся в процессе устранения известные утечки памяти, рассмотрены дополнительные способы сбора данных о проблемах распределения памяти, утвержден план действий и упомянута необходимость привлечения к работе дополнительных разработчиков. Отныне встречи будут проходить еженедельно, на них будут обсуждаться все новые сообщения о проблемах, так или иначе связанных с потреблением памяти, данные проблемы будут проанализированы и закреплены за разработчиками, ответственными за их устранение.

Кроме устранения известных проблем, работа также будет направлена на создание новых механизмов профилирования и мониторинга потребления памяти, которые помогут выявлять проблемы на ранней стадии и повысить оперативность локализации причин ошибок. Так же рассматриваются варианты задействования эвристических методов перераспределения памяти в сборщике мусора, повышения способов эффективности хранения внутренних структур и оптимизации компонентов, связанных с распределением памяти.

По мнению одного из разработчиков Mozilla, актуальность проблемы косвенно доказывает рост отправляемых пользователями уведомлений о недоработках и проблемах, связанных с потреблением памяти. После выхода Firefox 4 поступает большое число уведомлений, в которых указываются факты заметного увеличения потребления памяти, по сравнению с прошлыми версиями Firefox. При этом расход памяти в процессе работы браузера со временем неуклонно увеличивается, что свидетельствует об утечках памяти. В настоящий момент под наблюдением находится информация о более 80 неустраненных утечках памяти.

В зависимости от важности проблемы, утечки разбиты на три категории: P1 - ошибки, затрагивающие всех пользователей и требующие незамедлительного решения; P2 - приоритет по умолчанию, ошибки средней степени важности; P3 - ошибки, затрагивающие небольшую группу пользователей и проявляющиеся при определенном стечении обстоятельств, например, при сочетании нескольких установленных дополнений.

По своему типу, утечки памяти классифицированы следующим образом:

  • Реальные утечки памяти, при которых память теряется навсегда;
  • Продолжительное невозвращение памяти, например, когда для освобождения большого блока памяти требуется закрытие вкладки, окна, страницы или процесса;
  • Неоптимальное поведение сборщика мусора в некоторых ситуациях;
  • Плохие алгоритмы кэширования и неоптимальные настройки параметров кэшей;
  • Проблема с фрагментацией памяти.

Отдельный интерес вызывают методы мониторинга изменения потребления памяти в процессе разработки Firefox. В настоящее время уже развернута инфраструктура для периодического автоматизированного тестирования потребления памяти в процессе открытия 100 наиболее популярных сайтов в сети. В случае, если для очередной тестовой сборки Firefox фиксируется заметный рост потребления памяти, то разработчикам направляется соответствующее уведомление. К сожалению, система тестирования не лишена недостатков, например, отсутствует эмуляция реального поведения пользователей, не производится изменение при одновременном открытии нескольких страниц в разных вкладках, не учитывается специфика различных операционных систем. Из других подобных систем мониторинга упоминается ресурс arewefastyet.com, на котором ежедневно тестируется производительность Firefox, Google Chrome и Apple Safari.

Из планов на будущее отмечается создание системы автоматизированного тестирования, в которой будут использоваться дополнительные инструменты профилирования памяти, такие как Valgrind и trace-malloc. Рассматривается идея задействования методов статического анализа для автоматического выявления определенных классов утечек памяти. Планируется более широкое внедрение дополнения telemetry, позволяющего непрерывно накапливать информацию о потреблении памяти в процессе работы и учитывать в случае выявления проблем специфичные для данного сеанса вещи, такие как список открытых страниц. Также подготовлена встроенная реализация telemetry, не требующая внешнего дополнения и собирающая данные об изменении отраженных в "about:memory" параметров, числе открытых табов и прочей не привязанной к пользователю статистики. Возможно создание дополнительных решений на базе тестового фреймворка Mozmill, позволяющего непрерывно измерять параметры работающей копии браузера.

  1. Главная ссылка к новости (http://blog.internetnews.com/s...)
Лицензия: CC-BY
Тип: К сведению
Короткая ссылка: https://opennet.ru/30879-firefox
Ключевые слова: firefox, mozilla
Поддержать дальнейшую публикацию новостей на OpenNET.


Обсуждение (32) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 11:50, 15/06/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    Отлично! Правильное направление. Хотя фф и так жрет памяти меньше, чем хром или опера.
     
     
  • 2.3, paulus (ok), 11:55, 15/06/2011 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Chromium по умолчанию потребляет больше памяти, но в течении суток не отедает всю память как лиса...
     
     
  • 3.8, Аноним (-), 12:57, 15/06/2011 [^] [^^] [^^^] [ответить]  
  • –5 +/
    Ага, он отъедает в разы больше сразу при открытии всех табов.

    PS. Лису с ~200 табами не закрываю месяцами, как ела ~300MB, так и ест. ЧЯДНТ?

     
     
  • 4.23, Manbearpig (?), 15:31, 15/06/2011 [^] [^^] [^^^] [ответить]  
  • +5 +/
    звиздишь - вот что не так
    открыл сейчас 200 ПУСТЫХ вкладок потреблене со стартовых 170(1 таб about:home) выросло до 355
    закрыл все вкладки кроме about:home.. ииии! о чудо! мы теперь потребляем всего 340 метров!
     
  • 3.16, Аноним (-), 14:47, 15/06/2011 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Да уж, он сразу при открытии нужных мне страниц весело жрет гиг, тогда как фокса для этого надо старательно раздувать.  
     
  • 3.35, Bob (??), 14:52, 21/06/2011 [^] [^^] [^^^] [ответить]  
  • +/
    а не фиг сутками в интернете сидеть
     

  • 1.2, paulus (ok), 11:52, 15/06/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    давно пора с этим что-то делать, даже мозилловский почтовик памяти жрет больше чем все остальные вместе взятые: claws-mail (3.7.9) 23,3 Mb; evolution (3.0.2) 28,2Mb + 2,2Mb ebook; thunderbird (5.0b1) 101,8Mb...
     
     
  • 2.28, Gecko (?), 23:18, 15/06/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Он и жрет потому что HTML-письма парсятся / рендерятся тем же мозилловским движком.
     
     
  • 3.33, anonymous (??), 02:13, 17/06/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Он и жрет потому что HTML-письма парсятся / рендерятся тем же мозилловским
    > движком.

    плюс -- быстрый и легковесный XUL.

     

  • 1.5, anon8 (ok), 12:28, 15/06/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Мозилловцы узнали о существовании valgrind?
     
     
  • 2.6, Аноним (-), 12:36, 15/06/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Мозилловцы узнали о существовании valgrind?

    ключевое слово здесь "автоматизированный".

     

  • 1.7, б.б. (?), 12:37, 15/06/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Так вроде течёт оно только в винде? Или с каких пор шерифа начали волновать проблемы индейцев?
     
     
  • 2.10, Аноним (-), 13:07, 15/06/2011 [^] [^^] [^^^] [ответить]  
  • –1 +/
    К сожалению нет. Если картинка обновляется без использования кеша, то память уходит на ура. Я проверял только в Лисе, но писали что ослики(с 7 по 9) и опера - единственные кто этим не страдают
     
  • 2.12, Толстый (ok), 13:15, 15/06/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Потому что >90% пользователей ff на винде. А течет память и на линуксе. У меня в течение нескольких часов вырастает с 300 до 900 мегабайт.

    P.S. Если не знал, на винде ff работает намного быстрее.

     
     
  • 3.13, б.б. (?), 13:58, 15/06/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Я видел один раз ff на винде. Поэтому хочу уточнить - намного быстрее ЧЕГО? Уж точно не iceweasel.
     
  • 3.24, Manbearpig (?), 15:35, 15/06/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Потому что >90% пользователей ff на винде. А течет память и на
    > линуксе. У меня в течение нескольких часов вырастает с 300 до
    > 900 мегабайт.
    > P.S. Если не знал, на винде ff работает намного быстрее.

    не на винде а виндовская сборка - где-то были тесты виндовой версии под линуксом - работала быстрее родной

     

  • 1.9, VoDA (ok), 13:00, 15/06/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • –4 +/
    Что люди только не делают лишь бы не писать на языках с автоматическим управлением памятью ;)))
     
     
  • 2.11, Аноним (-), 13:09, 15/06/2011 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Конечно, вон Java очень экономно память расходует. Vuze - отличный легки торрент клинет, например.
     
     
  • 3.14, Askent (ok), 14:06, 15/06/2011 [^] [^^] [^^^] [ответить]  
  • +/
    тонко подмечено) както поставил я вуз, адова хрень)
     
     
  • 4.15, meequz (ok), 14:30, 15/06/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Не, отличный клиент, правда же. Тяжёлый, да, но функциональность прекрасная.
     
  • 3.21, Guest (??), 15:22, 15/06/2011 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Ага, сама экономность - запускаешь програмку hello world, а тебе виртуальная машина сжирает сразу 300 метров
     
     
  • 4.25, POPSuL (?), 16:09, 15/06/2011 [^] [^^] [^^^] [ответить]  
  • +/
    У меня NetBeans после запуска отжирает всего метров 70. ЧЯНТД?
     
     
  • 5.34, случайный_прохожий (?), 11:34, 17/06/2011 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > ЧЯНТД?

    Бессовестно врешь.

     
  • 2.18, Аноним (-), 14:51, 15/06/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > автоматическим управлением памятью ;)))

    яваскрипт - язык с автоматическим управлением памятью. Это не мешает кульным разработчикам делать такие скрипты что браузеры (все!!!) начинают жрать дикое количество памяти. Лично видел как баг вызвал пожирание 1 примитивной пагой ГИГАБАЙТА памяти в всех IE, фоксе и опере (хром наверное тоже, не проверялся). Нормально так - оставить пагу на полчаса и все, браузер клинит нафиг.

     
     
  • 3.19, тоже Аноним (ok), 15:09, 15/06/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Да уж, стандартная картинка:
    - У меня все тормозит! Невозможно работать!
    - Закройте Вконтакт, и все перестанет тормозить.
    Обычно второго совета не требуется.
     

  • 1.22, Zudelnik (ok), 15:28, 15/06/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Стоит на двух одинаковых ноутах Arch/Firefox4 (мой) Win7/Firefox4 (жены)... Firefox"ы, с одним комплектом расширений! У меня, в силу ряда причин, в Firefox"е постоянно открыто больше сотни вкладок и выключается он только иногда на выходные, если на природу уезжаю! А жены ноут всего часа три-четыре в день работает, по вкладок 15-20 бывает открыто, иногда... Мне вполне комфортно работается, ни каких утечек/протечек памяти не замечено! А вот жена постоянно возмущается, что лиса тормозит, примерно через час работы с ней... Вот такая петрушка! =)
    Так что мне лечение утечек сильно и не требуется, а жене поставил Хромиума (вроде как пока в нём меньше тормозов)... Но если уж Firefox станет ещё шустрее, то я по любому против не буду, только за! Удачи ребятам! =)
     
     
  • 2.26, б.б. (?), 16:13, 15/06/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ты зачем, родной, над женой так издеваешься, windows 7 ей. Не любишь её так, что-ли?
     

  • 1.27, фыв (??), 17:31, 15/06/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Да, особенно смешно было когда за пару месяцев до релиза фф4 разработчики внезапно обнаружили, что их поделка жрёт в 2 раза больше памяти, чем фф3.6
     
  • 1.29, анонимус (??), 23:21, 15/06/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >>После выхода Firefox 4 поступает большое число уведомлений, в которых указываются факты заметного увеличения потребления памяти, по сравнению с прошлыми версиями Firefox

    а сколько говорили, что расход памяти на самом деле уменьшили в FF4...

     
  • 1.30, zipfer (?), 12:33, 16/06/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Фокс - хороший браузер, но его работа в линуксе и вообще работа с памятью в целом, оставляет желать намного лучшего.
    С большим трудом, но я все-таки слез на хромиум, дополнения вроде тоже под него уже есть
     
     
  • 2.31, zomg (?), 17:16, 16/06/2011 [^] [^^] [^^^] [ответить]  
  • +/
    +1, я тоже ушел на хромиум, потому что устал от пожирания памяти FF 4.0.1. На ночь не мог отставить открытым браузер - к утру его не было уже, вылетал за ночь.
    Хромиум не закрываю, работает себе. С плагинами беда, плагины не могут управлять вкладками, как в фоксе. Но приходится жертвовать этим.
     

  • 1.32, Аноним (-), 23:57, 16/06/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    После обновления с 3.х на 4.0 -- заметил возросшую нагрузку на проц и возросшее потребление памяти. Решил вчера обновиться до 5.0beta5 -- супер! потребление памяти снизилось ровно наполовину, и течет всего на 100-200 метров за первые сутки, дальше не растёт:) и проц стал заметно холоднее. вот такая петрушка. фф4 получился хреновым.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:
    При перепечатке указание ссылки на opennet.ru обязательно



    Спонсоры:
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2021 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру