Tôi đang sử dụng GC.stat
để sử dụng bộ nhớ hồ sơ trong ứng dụng Rails của chúng tôi. GC.stat
trả về băm với các phím sau:Các trường của GC.stat của Ruby có nghĩa là gì?
:count
:heap_used
:heap_length
:heap_increment
:heap_live_num
:heap_free_num
:heap_final_num
Không ai biết chính xác những giá trị này có ý nghĩa gì? Không có tài liệu nào về chúng trong nguồn Ruby (gc.c), chỉ là một nhận xét: "Nội dung của hàm băm được xác định và có thể được thay đổi trong tương lai."
Một số trường này có ý nghĩa từ ngữ cảnh, ví dụ: count
là số lượng heaps Ruby đã phân bổ. Nhưng heap_final_num
là gì? heap_increment
là gì? Là heap_length
kích thước heap tối thiểu?
Tôi đang loay hoay với RUBY_MIN_HEAP_SLOTS
, RUBY_FREE_MIN
và RUBY_GC_MALLOC_LIMIT
, nhưng thay đổi những VAR env dường như không có bất kỳ ảnh hưởng :heap_count
hoặc :heap_length
. Tôi hy vọng rằng :heap_count
sẽ giảm xuống nếu tôi tăng các khe heap tối thiểu một cách triệt để. Vì vậy, tôi thực sự muốn biết chính xác những gì tất cả các giá trị GC.stat
đại diện!
Tôi đang sử dụng Ruby 1.9.3.
thông tin trong câu trả lời này không accurate..see [bài này] (http://samsaffron.com/archive/2013/11/22/demystifying-the-ruby-gc) để có câu trả lời đúng. – tihom