7 điểm bởi ffdd270 2020-07-24 | 4 bình luận | Chia sẻ qua WhatsApp

Đây là bài viết chỉ giới hạn trong Ruby trên Linux.

Ngay cả khi bạn không biết Ruby, đây vẫn là một bài đáng đọc, vì nó trình bày cách bộ nhớ được quản lý ở tầng OS và interpreter. Cách paging và paging pool được sử dụng cũng như các giải thích về phân mảnh bộ nhớ đều được trình bày rất dễ hiểu.

Có vẻ như cũng có nhiều điều đáng học hỏi từ cách lần theo memory leak.

4 bình luận

 
ffdd270 2020-07-24

Nhưng nhắc là glibc vậy thôi, thực ra có lẽ mọi dự án dùng đa luồng trong số tất cả các chương trình Linux sử dụng thư viện C tiêu chuẩn đều sẽ bị ảnh hưởng cả ;m ;

 
novemberoscar 2020-07-24

Vì Python cũng phụ thuộc vào glibc nên gặp cùng một vấn đề; cũng có cách dùng Jemalloc thay cho allocator mặc định để giảm phân mảnh bộ nhớ.

http://egloos.zum.com/mcchae/v/11175458

 
novemberoscar 2020-07-24

Nhân tiện, câu này thực sự rất ấn tượng...

there are no tools that allow me to do that. -- Vì vậy tôi đã tự viết một trình trực quan hóa heap của hệ điều hành.

 
ffdd270 2020-07-24

Không có công cụ -> nên đã tự làm ra.

Tôi nghĩ đó là một thái độ thật tuyệt vời của lập trình viên.