glibc malloc () использует mmap () для маленьких блоков выделения памяти?

Та же причина rm, cp и целое убило других утилит, не делают - с самого начала, концепция проекта POSIX состояла в том, чтобы всегда предполагать, что человек в консоли знает то, что они делают а не попросить разъяснение, если нет фактическая проблема.

В случае tar, взгляд на страницу руководства предполагает, что Вы могли попытаться установить TAR_OPTIONS огибающая переменная для включения --confirmation флаг.

1
05.11.2012, 18:07
1 ответ

Это действительно зависит от malloc реализация. Это может предварительно выделить больший непрерывный блок памяти и затем сделать некоторое волшебство сверху его - например, выделить меньшие блоки памяти от различных частей большого блока в зависимости от требуемых размеров. Такой больший блок может, конечно, быть выделен через mmap.

Можно проверить, например, источник jemalloc, чтобы понять, как это может работать.

2
27.01.2020, 23:39

Теги

Похожие вопросы