Что означают поля Ruby's GC.stat?
я используюGC.stat
профилировать использование памяти в нашем приложении Rails.GC.stat
возвращает хеш со следующими ключами:
:count
:heap_used
:heap_length
:heap_increment
:heap_live_num
:heap_free_num
:heap_final_num
Кто-нибудь точно знает, что означают эти значения? Там нет документации о них в источнике Ruby (gc.c), просто комментарий: "Содержимое хеша определяется реализацией и может быть изменено в будущем."
Некоторые из этих полей имеют смысл из контекста, например,count
количество кучи, выделенных Ruby Но что этоheap_final_num
? Что такоеheap_increment
? Являетсяheap_length
минимальный размер кучи?
Я возлюсь сRUBY_MIN_HEAP_SLOTS
, RUBY_FREE_MIN
а такжеRUBY_GC_MALLOC_LIMIT
, но изменение этих переменных не оказывает никакого влияния на:heap_count
или же:heap_length
, Я ожидаю, что:heap_count
понизился бы, если бы я радикально увеличил минимальные слоты кучи. Так что я действительно хотел бы точно знать, что всеGC.stat
значения представляют!
Я использую Ruby 1.9.3.