Профиль: Аноним (вход | регистрация) неRU opennet.me  
OpenNET

[ новости /+++ | форум | теги |    ]

Опубликована библиотека управления памятью jemalloc 5.3

18.09.2026 22:02 (MSK)

Представлен релиз библиотеки управления памятью jemalloc 5.4.0, предлагающей альтернативную реализацию функций malloc, оптимизированную для снижения фрагментации и работы на многопроцессорных системах. Для решения проблем с блокировками на многоядерных системах в jemalloc для каждого ядра CPU используется своя изолированная область распределения памяти, что позволяет добиться линейной масштабируемости при росте числа потоков.

В июне 2025 года автор проекта прекратил сопровождение и перевёл репозиторий jemalloc в архивный режим, но в марте этого года разработку возобновила компания Meta, применяющая jemalloc в своей инфраструктуре. Изначально библиотека была разработана для FreeBSD и используется в данной ОС по умолчанию с 2005 года. Код библиотеки написан на Си и распространяется под лицензией BSD.

Среди изменений:

  • Упрощена логика заполнения и сброса tcache (Thread Local Cache), а также диспетчеризации выделения памяти.
  • Унифицированы аллокаторы страниц памяти PAC (Page Allocator Classic) и HPA (Huge Page Allocator). Удалён усложнённый механизм косвенных вызовов через vtable (PAI vtable).
  • Для упрощения сопровождения и расширения платформ все платформо-зависимые операции вынесены в отдельные заголовочные файлы.
  • Упрощена диспетчеризация команд mallctl, а также переработана инфраструктура генерации и вывода статистики.
  • Добавлен флаг EXTENT_ALLOC_FLAG_PINNED, позволяющий помечать невытесняемые области маппинга памяти, такие как страницы HugeTLB, для их приоритетного повторного использования. Для получения статистики об использовании закреплённой памяти добавлены новые интерфейсы mallctl: stats.pinned, stats.arenas.<i>.pinned, stats.arenas.<i>.extents.<j>.npinned, stats.arenas.<i>.extents..pinned_bytes и stats.arenas.<i>.mutexes.extents_pinned.{counter} .
  • Синхронизировано содержимое статистики malloc в читаемом и JSON форматах.
  • Удалены устаревшие параметры lg_tcache_nslots_mul, tcache_nslots_small_min, tcache_nslots_small_max, tcache_nslots_large, tcache_gc_delay_bytes, lg_tcache_flush_small_div и lg_tcache_flush_large_div.


  1. Главная ссылка к новости (https://github.com/jemalloc/je...)
  2. OpenNews: Доступна библиотека управления памятью jemalloc 5.3.1
  3. OpenNews: Facebook возобновил разработку библиотеки управления памятью jemalloc
  4. OpenNews: Прекращена разработка библиотеки управления памятью jemalloc
  5. OpenNews: Miсrosoft открыл код системы распределения памяти mimalloc
  6. OpenNews: Google опубликовал новый вариант системы распределения памяти TCMalloc
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/66304-jemalloc
Ключевые слова: jemalloc
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (10) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, нах. (?), 22:16, 18/09/2026 [ответить]  
  • –1 +/
    Фейсбук за все берется смело... боюсь получится как с memcache.

     

  • 1.2, жявамэн (ok), 22:24, 18/09/2026 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     

  • 1.3, Ivan_83 (ok), 22:33, 18/09/2026 [ответить]  
  • +/
    Ни одной буквы о том как изменилась производительность.
    Подозреваю что там никаких улучшений нет уже лет 10, а автор перевёл его в архив потому что делать там больше нечего, всё и так прекрано работает.
     
     
  • 2.5, Аноним (4), 22:41, 18/09/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Потому что mimalloc быстрее и эффективнее, конкурировать с ним пустое дело. Сабж позволяет решать специфические задачи специфического оборудования. В кластерах, да. Если рассматривать сабж на примере жырнолиса, можно ему зажать пиковую память, но тогда тормозит очень сильно. Почему каждые 3 секунды выделяет и удаляет по гигабайту памяти на твиче, никто так и не объяснил. Иногда просто начинает течь. Если поменять на mimalloc (требует перекомпиляция), не течёт.
     
     
  • 3.9, Аноним (9), 23:47, 18/09/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Потому что mimalloc быстрее и эффективнее

    Только память освобождать не умеет, лол.

     
  • 3.10, Аноним (10), 23:49, 18/09/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Huge pages отключи, шkoлoтpoн.
     

  • 1.8, Аноним (8), 23:33, 18/09/2026 [ответить]  
  • +/
    Ненужно. Если требуется специальное управление памятью, то сам напишу. Функциями ос никто ещё пользоваться не запрещал, не все правда про них знают почему-то.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    XSQUARE
    Inferno Solutions
    Hosting by Hoster.ru
    Хоcтинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2026 by Maxim Chirkov
    Добавить новость, Поддержать