Я на днях прочитал, что реализация функций malloc и free в glibc не выполняет никакой работы по сокращению объёма используемой памяти, не считая системного вызова brk() или как там его, в результате чего получается фрагментация используемой программой оперативной памяти.
Интересно стало, как с этим можно бороться и как вообще люди борются?
Кстати, прошёл слушок, что возможно заюзать реализацию malloc из openbsd, неужели правда?
P.S. Вопрос навеян тенденцией всё большего и большего пожирания памяти линуксовыми програмами, например, firefox, потребление памяти которым просто легендой стало.