jemalloc 5.3.1

Yaklaşık dört yıllık bir aradan sonra (bkz. "jemalloc her şey») Ayırıcıya ait 5.3.1 sürümünün yayınlanması gerçekleşti. Cemalloc – Parçalanmayı önlemeye ve ölçeklenebilir eşzamanlılığı desteklemeye önem veren bir malloc(3) uygulaması.

Yeni sürüm, hata düzeltmeleri, yeni özellikler, performans optimizasyonları ve taşınabilirlik iyileştirmeleri içeren 390'dan fazla kod değişikliği içeriyor.

Proje C dilinde yazılmıştır ve BSD lisansı altında dağıtılmaktadır.

Yeni özellikler:

  • pvalloc(3) desteği.
  • Hata ayıklama derlemesinde çift serbest bırakma tespit edildi;
  • Bellek eşlemeli ek açıklamayı etkinleştirmek için --enable-pageid derleme seçeneği eklendi.
  • Profil oluşturma için maksimum yığın derinliğini kontrol etmek üzere prof_bt_max çalışma zamanı parametresi eklendi;
  • getenv yerine secure_getenv kullanmak için --enable-force-getenv derleme seçeneği eklendi;
  • sbrk(2) kullanımını devre dışı bırakmak için --disable-dss derleme seçeneği eklendi;
  • İş parçacığı önbelleğindeki öğe sayısını kontrol etmek için tcache_ncached_max derleme seçeneği eklendi.
  • calloc çağrısı yapılırken ayrılan bellek bloklarını sıfırlamak için çekirdeğin mi yoksa memset'in mi kullanılacağını belirlemek üzere calloc_madvise_threshold çalışma zamanı parametresi eklendi;
  • Derleme sırasında /etc/malloc.conf dosyasından veya MALLOC_CONF ortam değişkeninden yapılandırmaların okunmasını devre dışı bırakmak için --disable-user-config derleme zamanı seçeneği eklendi.
  • Yeni kullanılabilir boyut hesaplama algoritmasını etkinleştirmek için `disable_large_size_classes` çalışma zamanı parametresi eklendi; bu algoritma, büyük bellek blokları (yani boyutu >= 4 * PAGE olan) tahsis edilirken bellek yükünü en aza indirir.
  • `process_madvise` kullanımını etkinleştirdik ve her `madvise` "toplu işleminde" maksimum bellek bölgesi sayısını kontrol etmek için `process_madvise_max_batch` çalışma zamanı parametresini ekledik;
  • mallctl arayüzleri eklendi:
    • opt.prof_bt_max;
    • Arena
    • `thread.tcache.max` komutu, geçerli iş parçacığının tcache_max değerini değiştirmek ve almak için kullanılır;
    • `thread.tcache.ncached_max.write` ve `thread.tcache.ncached_max.read_sizeclass` fonksiyonları, geçerli iş parçacığının ncached_max değerini değiştirmek ve almak için kullanılır;
    • arenas.hugepage, kullanılan hugepage boyutunu döndürür ve ayrıca malloc istatistiklerine de aktarılır;
    • `approximate_stats.active` fonksiyonu, mevcut aktif bayt miktarının yaklaşık bir değerini elde etmek için kullanılır; bu değer, alınan diğer istatistiklerle karşılaştırılmamalıdır.
  • Birçok hata düzeltildi ve dokümantasyon iyileştirildi.

Kaynak: linux.org.ru

DDoS korumalı siteler, VPS VDS sunucuları için güvenilir hosting satın alın 🔥 DDoS korumalı, güvenilir VPS ve VDS sunucu barındırma hizmeti satın alın | ProHoster