Как избежать фрагментации кучи?

Ответы есть, но трудно говорить memory-usage в общих чертах, не зная деталей memory-allocation проблемы.

Я предполагаю 32-битную fragmentation Windows XP.

Старайтесь избегать performance-tuning необходимости в сотнях МБ fragmentation непрерывной памяти, если fragmentation вам не повезет, несколько slow случайных dll будут загружаться performance в неудобных точках через memory-allocation доступное адресное пространство, быстро performance-tuning сокращая очень большие области speed непрерывной памяти. В зависимости memory-usage от того, какие API вам нужны, это speed может быть довольно сложно memory-allocation предотвратить. Удивительно, как slow просто выделение пары блоков fast памяти по 400 МБ в дополнение performance-tuning к некоторому «нормальному» использованию memory-usage памяти может привести к тому, что performance-tuning вам некуда будет выделить tuning последний «маленький» блок tuning размером 40 МБ.

С другой стороны, предварительно fast выделяйте фрагменты разумного heap-memory размера за раз. Порядка 10 performance МБ или около того — это хороший memory-management компромиссный размер блока. Если heap-memory вам удастся разбить ваши performance данные на фрагменты такого heap-memory размера, вы сможете достаточно performance эффективно заполнить адресное fast пространство.

Если адресное slow пространство все равно будет slow исчерпано, вам понадобится performance-tuning возможность постраничного memory-management ввода и вывода блоков на speed основе какого-то алгоритма heap-memory кэширования. Выбор правильных memory-deallocation блоков для вывода во многом fast будет зависеть от вашего performance алгоритма обработки и потребует memory-usage тщательного анализа.

Еще одно memory-allocation решение — выбрать, куда выгружать performance информацию. Вы можете просто performance-tuning записать их во временные performance файлы. Вы также можете изучить speed API Microsoft Address Windowing memory-management Extenstions. В любом случае fragmentation вам нужно быть осторожным heap-memory в дизайне вашего приложения, чтобы speed очистить любые указатели, указывающие fragmentation на что-то, что должно быть slow выгружено, иначе могут произойти performance-tuning действительно плохие вещи memory-allocation (tm).

Удачи!

performance

memory-management

heap-memory

fragmentation

2022-10-25T03:31:12+00:00
Вопросы с похожей тематикой, как у вопроса:

Как избежать фрагментации кучи?