[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