Здесь периодически пишется про потребление и неотдачу памяти базирующимися на mozilla браузерами (mozilla, seamonkey, firefox, netscape).
Характерное поведение mozilla такое:
1) размер VM на старте ~20-25 M
2) размер VM при ~30 открытых табах ~80M
3) после закрытия табов VM заметно не уменьшается, остается на уровне тех ~80M.
В итоге, VM браузера в среднем по времени сеанса растет, VM не возвращается ядру при закрытии табов и/или окон, что приводит к торможению всей системы.
При отключенных кэшах потребление VM заметно не меняется.
К "программным" утечкам памяти (забытые free()/delete) это не имеет отношения: https://bugzilla.mozilla.org/show_bug.cgi?id=324081#c17
В А Ж Н О: Это характерно для mozilla/firefox/seamonkey/netscape под __Linux__.
Например, под OpenBSD 3.8 firefox _возвращает_ память ядру при закрытии табов/страниц в ожидаемом количестве, т.к. в OpenBSD malloc() сделан только на mmap(), и sbrк() вообще там не используется. (см. http://www.linux.org.ru/profile/_white/view-message.jsp?msgid=1369016#1375917)
Это показывает, что в прожорливости mozilla под GNU/Linux виновата реализация malloc/free, использующая sbrk().
---------------------------------------------------
Призыв к трудящимся, использующим mozilla-based браузеры:
1) оставьте свое мнение о потреблении VM в соответствующем месте в bugzilla.mozilla.org:
https://bugzilla.mozilla.org/show_bug.cgi?id=324081
2) если кто-то уже пытался перенести malloc() et al. из OpenBSD под linux, дайте знать, это решает проблему.
Всех с 1 Мая!