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 を使用しています。