jemalloc 5.3 内存管理库已发布。

jemalloc 内存管理库 5.4.0 版本已发布。该版本提供了一种针对减少内存碎片和多处理器系统优化的 malloc 函数替代实现。为了解决多核系统上的锁定问题,jemalloc 为每个 CPU 核心使用独立的内存分配区域,从而实现随着线程数增加而线性扩展。

2025年6月,该项目的作者停止了维护并将jemalloc代码库迁移到归档模式。但今年3月,Meta公司恢复了该项目的开发,该公司在其基础设施中使用了jemalloc。该库最初是为FreeBSD开发的,自2005年以来一直是该操作系统的默认库。该库代码使用C语言编写,并以BSD许可证发布。

其中的变化:

  • 线程本地缓存 (tcache) 的填充和清除逻辑以及内存分配调度逻辑都得到了简化。
  • Page Allocator Classic (PAC) 和 HPA (Huge Page Allocator) 内存页分配器已统一。通过虚函数表 (PAI vtable) 进行间接调用的复杂机制已被移除。
  • 为了简化维护和平台扩展,所有与平台相关的操作都移到了单独的头文件中。
  • mallctl 命令的分发得到了简化,生成和显示统计信息的基础架构也进行了重新设计。
  • 新增了 EXTENT_ALLOC_FLAG_PINNED 标志,允许将不可抢占的内存映射区域(例如 HugeTLB 页)标记为优先重用。新增了 mallctl 接口,用于获取已锁定内存使用统计信息:stats.pinned、stats.arenas..pinned
  • 以人类可读格式和 JSON 格式同步 malloc 统计信息内容。
  • 已移除已弃用的参数 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。

来源: opennet.ru

为具有 DDoS 保护、VPS VDS 服务器的站点购买可靠的主机 🔥 购买具备 DDoS 防护的可靠网站托管服务,包括 VPS 和 VDS 服务器 | ProHoster