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

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


On [Wed, 28.11.2007 23:39], Alexander Bokovoy wrote:
> Kirill A. Shutemov пишет:
> > 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 по умолчанию. Зачем так много?
> шаблоны распределения памяти могут достаточно сильно варьироваться от
> программы к программе и поэтому к системному распределителю
> предъявляются консервативные требования вести себя хорошо на большинстве
> ситуаций.

Это понятно. Вот только 128k, по крайней мере на первый взгляд, кажутся
взятыми с потолка. Хотя и мои 32 тоже с потолка взяты. ;)

-- 
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/240b35b7/attachment-0002.bin>


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