Использование tcmalloc/jemalloc с настраиваемым менеджером пула памяти

Я хотел бы использовать высокопроизводительный распределитель общего назначения, как jemalloc/tcmalloc с пулом памяти. Есть ли руководство для этого? Я не хочу использовать jemalloc/tcmalloc в качестве замены для замены malloc,

У меня есть пул памяти, который использует libarena и вырезает большую область памяти (2 ГБ). Я хочу создать пул объектов фиксированного размера, как gslice на этой арене скажем 1 Гб. (как распределитель плит Bonwick) и хочет использовать оставшуюся часть памяти для общего назначения переменного размера. Я бы хотел jemalloc/tcmalloc используйте эту область памяти. Это возможно? Любые идеи относительно того, как я могу продолжить? Если есть альтернативная библиотека, я бы тоже хотел об этом услышать.

1 ответ

Это старый вопрос, но, наконец, положительный ответ, по крайней мере, где jemalloc обеспокоен. поскольку jemalloc версию 4.0.0, вы можете использовать mallctl установить зацепки, где выделенные фрагменты получают память, используя arena.<i>.chunk_hooks интерфейс. Эти хуки хорошо документированы в man-странице jemalloc, включая ряд перекрестных ссылок.

Я не знаю, как любой подобный интерфейс в tcmalloc; Я не использую это.

Я ответил на аналогичный вопрос совсем недавно; Там также может быть полезная информация.

Другие вопросы по тегам