raw_data -> [Hash, ...] | nil[permalink][rdoc]GC のプロファイル情報を GC の発生ごとに Hash の配列 (:GC_INVOKE_TIME が早いもの順)で返します。GC::Profiler が有効になっていない場合は nil を返します。
例:
GC::Profiler.enable
GC.start
GC::Profiler.raw_data
# => [
{
:GC_TIME=>1.3000000000000858e-05,
:GC_INVOKE_TIME=>0.010634999999999999,
:HEAP_USE_SIZE=>289640,
:HEAP_TOTAL_SIZE=>588960,
:HEAP_TOTAL_OBJECTS=>14724,
:GC_IS_MARKED=>false
},
# ...
]
各項目の意味を以下に示します。
GC の処理時間(秒)
Ruby が起動してから GC が起動するまでに経過した時間(秒)
ヒープ内での使用サイズ(バイト)
ヒープ全体のサイズ(バイト)
ヒープ内に存在するオブジェクトの個数
GC がマークフェイズかどうか
また、GC_PROFILE_MORE_DETAIL を有効にして Ruby をビルドした場合、以下のキーも参照できます。
[SEE_ALSO] GC::Profiler.report, GC::Profiler.result