jemalloc 5.3.1

Sau thời gian gián đoạn gần bốn năm (xem "mọi thứ jemalloc») Việc phát hành phiên bản 5.3.1 của trình phân bổ đã diễn ra jemalloc – một triển khai của malloc(3) nhấn mạnh việc ngăn ngừa phân mảnh và hỗ trợ đồng thời có thể mở rộng.

Phiên bản mới bao gồm hơn 390 bản cập nhật với các bản sửa lỗi, tính năng mới, tối ưu hóa hiệu năng và cải tiến khả năng tương thích đa nền tảng.

Dự án được viết bằng ngôn ngữ C và phân phối theo giấy phép BSD.

Ấn Độ:

  • pvalloc(3) hỗ trợ.
  • Phát hiện lỗi giải phóng bộ nhớ hai lần trong bản dựng gỡ lỗi;
  • Đã thêm tùy chọn biên dịch --enable-pageid để bật chú thích ánh xạ bộ nhớ.
  • Đã thêm tham số thời gian chạy prof_bt_max để kiểm soát độ sâu ngăn xếp tối đa cho việc lập hồ sơ;
  • Đã thêm tùy chọn biên dịch --enable-force-getenv để sử dụng getenv thay vì secure_getenv;
  • Đã thêm tùy chọn biên dịch --disable-dss để vô hiệu hóa việc sử dụng sbrk(2);
  • Đã thêm tùy chọn biên dịch tcache_ncached_max để kiểm soát số lượng mục trong bộ nhớ đệm của luồng.
  • Đã thêm tham số thời gian chạy calloc_madvise_threshold để xác định xem kernel hay memset được sử dụng để xóa sạch các khối bộ nhớ đã cấp phát khi gọi calloc;
  • Đã thêm tùy chọn biên dịch --disable-user-config để vô hiệu hóa việc đọc cấu hình từ tệp /etc/malloc.conf hoặc từ biến môi trường MALLOC_CONF trong quá trình chạy.
  • Đã thêm tham số thời gian chạy disable_large_size_classes để kích hoạt thuật toán tính toán kích thước mới, giúp giảm thiểu chi phí bộ nhớ khi phân bổ các khối bộ nhớ lớn, tức là với kích thước >= 4 * PAGE;
  • Đã kích hoạt việc sử dụng process_madvise và thêm tham số thời gian chạy process_madvise_max_batch để kiểm soát số lượng vùng nhớ tối đa trong mỗi "lô" madvise;
  • Các giao diện mallctl đã được thêm:
    • opt.prof_bt_max;
    • arena.
    • Sử dụng `thread.tcache.max` để thay đổi và lấy giá trị `tcache_max` của luồng hiện tại;
    • Sử dụng `thread.tcache.ncached_max.write` và `thread.tcache.ncached_max.read_sizeclass` để thay đổi và lấy giá trị `ncached_max` của luồng hiện tại;
    • arenas.hugepage trả về kích thước hugepage đã sử dụng, đồng thời xuất sang malloc stats;
    • approximate_stats.active được sử dụng để lấy giá trị gần đúng của lượng byte đang hoạt động hiện tại, giá trị này không nên được so sánh với các số liệu thống kê khác đã được truy xuất.
  • Nhiều lỗi cũng đã được khắc phục và tài liệu hướng dẫn đã được cải thiện.

Nguồn: linux.org.ru

Mua dịch vụ lưu trữ đáng tin cậy cho các trang web có bảo vệ DDoS, máy chủ VPS VDS 🔥 Mua dịch vụ hosting website đáng tin cậy với bảo vệ DDoS, máy chủ VPS VDS | ProHoster