jemalloc 5.3.1

Təxminən dörd illik fasilədən sonra (bax: "jemalloc hər şey») ayırıcının 5.3.1 versiyasının buraxılışı baş verdi jemalloc – malloc(3)-ün parçalanmanın qarşısını almağa və miqyaslana bilən paralelliyi dəstəkləməyə vurğu edən tətbiqi.

Yeni buraxılışa səhv düzəlişləri, yeni funksiyalar, performans optimallaşdırmaları və daşınabilirlik təkmilləşdirmələri ilə birlikdə 390-dan çox commit daxildir.

Layihə C dilində yazılıb və BSD lisenziyası altında paylanır.

Yeni funksiyalar:

  • pvalloc(3) dəstəyi.
  • debug quruluşunda ikiqat pulsuz aşkarlandı;
  • Yaddaşla xəritələşdirilmiş annotasiyanı aktivləşdirmək üçün --enable-pageid kompilyasiya seçimi əlavə edildi.
  • Profilləmə üçün maksimum yığın dərinliyini idarə etmək üçün prof_bt_max işləmə müddəti parametri əlavə edildi;
  • secure_getenv əvəzinə getenv istifadə etmək üçün --enable-force-getenv kompilyasiya seçimi əlavə edildi;
  • sbrk(2) funksiyasının istifadəsini deaktiv etmək üçün --disable-dss kompilyasiya seçimi əlavə edildi;
  • Mövzu keşindəki elementlərin sayını idarə etmək üçün tcache_ncached_max kompilyasiya seçimi əlavə edildi.
  • calloc çağırılarkən ayrılmış yaddaş bloklarını sıfırlamaq üçün nüvənin və ya memsetin istifadə olunub-olunmadığını müəyyən etmək üçün calloc_madvise_threshold icra vaxtı parametri əlavə edildi;
  • /etc/malloc.conf faylından və ya MALLOC_CONF mühit dəyişənindən iş vaxtında konfiqurasiyaların oxunmasını deaktiv etmək üçün --disable-user-config compile-time seçimi əlavə edildi.
  • Böyük yaddaş blokları ayırarkən, yəni ölçüsü >= 4 * PAGE olduqda yaddaş yükünü minimuma endirən yeni mövcud ölçü hesablama alqoritmini aktivləşdirmək üçün iş vaxtı parametri disable_large_size_classes əlavə edildi;
  • process_madvise istifadəsini aktivləşdirdi və hər bir madvise "batch"-da maksimum yaddaş bölgələrini idarə etmək üçün process_madvise_max_batch icra vaxtı parametrini əlavə etdi;
  • mallctl interfeysləri əlavə edildi:
    • opt.prof_bt_max;
    • arena.
    • thread.tcache.max funksiyasını dəyişdirərək cari mövzunun tcache_max dəyərini əldə etmək üçün istifadə edin;
    • thread.tcache.ncached_max.write və thread.tcache.ncached_max.read_sizeclass əmrlərini dəyişdirərək cari mövzunun ncached_max dəyərini əldə edin;
    • arenas.hugepage istifadə olunmuş hugepage ölçüsünü qaytarır, həmçinin malloc statistikasına ixrac olunur;
    • approximate_stats.active funksiyasından istifadə edərək, cari aktiv baytların təxmini dəyərini əldə edə bilərsiniz və bu dəyər digər əldə edilmiş statistikalarla müqayisə edilməməlidir.
  • Bir çox səhvlər də düzəldilib və sənədlər təkmilləşdirilib.

Mənbə: linux.org.ru

DDoS mühafizəsi, VPS VDS serverləri olan saytlar üçün etibarlı hostinq alın 🔥 DDoS qorunması, VPS VDS serverləri ilə etibarlı veb sayt hostinqi alın | ProHoster