Влияние увеличения GLIBC malloc () M_MMAP_THRESHOLD до 1 ГБ - PullRequest
0 голосов
/ 24 сентября 2018

Я использую glibc (версия 2.21) для системы с размером страницы (2 МБ и 64 МБ).Но при этом очень большом размере страницы становится больше фрагментации.Поэтому я увеличил M_MMAP_THRESHOLD до 32 МБ, используя mallopt (), но фрагментация все еще существует.Поэтому я хочу увеличить M_MMAP_THRESHOLD до 1 ГБ.Влияет ли это на расчет индекса бина?

1 Ответ

0 голосов
/ 02 октября 2018

На этот вопрос дан ответ в списке помощи libc :

Если вы увеличите M_MMAP_THRESHOLD, вам также придется увеличить размер кучи до значения, близкого к 32 ГиБ (HEAP_MAX_SIZEв malloc / arena.c).Значение по умолчанию 2 * DEFAULT_MMAP_THRESHOLD_MAX, вероятно, слишком мало (при условии, что DEFAULT_MMAP_THRESHOLD_MAX будет 2 ГиБ).В противном случае у вас будет существенная фрагментация для запросов на распределение между 2 ГиБ и HEAP_MAX_SIZE.

...