廣泛使用的記憶體配置器 Jemalloc 版本 5.4.0 已正式發布。此次更新引發社群關注,特別是在 CPU 密集型應用程式中,其在記憶體預算控制和洩漏緩解方面的有效性受到肯定。對於優化高併發系統的開發者而言,此次更新具有重要意義,因為 jemalloc 以減少記憶體碎片化和支援可擴展的併發性而聞名。此次發布證實了其在生產環境中的實用性,例如將 Sidekiq 的記憶體使用量從 8GB 降低到 1GB 以下。用戶強調的一個關鍵功能是按線程分配計數器,這允許追蹤每個線程的記憶體使用情況並執行嚴格的記憶體預算。這種能力對於將請求路由到特定線程的 CPU 密集型應用程式尤其有價值。

事件背景

Jemalloc 是一個強調避免記憶體碎片化和支援可擴展併發性的通用 malloc 實現。自 2005 年被 FreeBSD 採用以來,它已成為許多需要可預測記憶體行為的高效能應用程式的標準選擇。記憶體預算控制涉及設定記憶體使用上限以防止進程失控,而洩漏緩解則有助於管理可能會隨時間推移而降低效能的緩慢記憶體洩漏。

社群觀察

社群成員強調按線程分配計數器在 CPU 密集型工作負載中執行記憶體預算的實際好處。一位用戶報告其 Sidekiq 佇列的記憶體大幅減少,並指出 jemalloc 減緩了緩慢記憶體洩漏的影響。其他人則將其與 tcmalloc 和 mimalloc 進行比較,認為其在該特定功能方面表現更佳。