私はGC.stat
を使用して、Railsアプリケーションでのメモリ使用量をプロファイルしています。 GC.stat
は、以下のキーを持つハッシュを返す:Rubyの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
をいじるんだけど、それらのenv VARSを変更する:heap_count
または:heap_length
上の任意の効果を持っていないようです。最小ヒープスロットを大幅に増やすと、:heap_count
がダウンすることが予想されます。だから私は本当にすべてのGC.stat
の値が表すものを正確に知りたいです!
私はRuby 1.9.3を使用しています。
を情報この回答で(http://samsaffron.com/archive/2013/11/22/demystifying-the-ruby-gc)を入力してください。 – tihom