[devel] фрагментация памяти

Kirill A. Shutemov =?iso-8859-1?q?k=2Eshutemov_=CE=C1_velesys=2Ecom?=
Ср Ноя 28 23:33:26 MSK 2007


On [Wed, 28.11.2007 21:56], Alexander Bokovoy wrote:
> Обратной стороной является некоторое падение производительности: до 3%
> процентов в общем случае при использовании glibc's malloc() в качестве
> "драйвера" для talloc(3). Для специфических ситуаций вроде распределения
> большого количества малых фрагментов памяти -- коротких строк,
> конкатенации большого количества малых фрагментов и тому подобное, можно
>   выбрать другие распределители. Например, можно использовать
> распределитель, основанный на анонимной mmap-памяти, написанный Andrew
> Tridgell-ом: http://samba.org/~tridge/junkcode/alloc_mmap/. Этот
> распределитель снижает расход памяти в Samba4 приблизительно на 10-15%
> на соединение и работает быстрее. 

Это за счёт фрагментации? glibc'ный malloc ведь тюнить можно. Сталкнувшись
с фрагментацией на проекте, сделал mallopt(M_MMAP_THRESHOLD, 32) -- т.е.
для кусков > 32 использовать mmap для распределения. Помогло.
Единственное, что озадачивает M_MMAP_THRESHOLD равный 128k по умолчанию.
Зачем так много?

-- 
Regards,  Kirill A. Shutemov
 + Belarus, Minsk
 + Velesys LLC, http://www.velesys.com/
 + ALT Linux Team, http://www.altlinux.com/
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 189 байтов
Описание: Digital signature
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20071128/f77ba8b1/attachment-0002.bin>


Подробная информация о списке рассылки Devel