Ruby 2.1.0 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > GCモジュール

module GC

クラスの継承リスト: GC

要約

GC は Ruby インタプリタの「ゴミ集め(Garbage Collection)」を制御 するモジュールです。

@see ObjectSpace

目次

特異メソッド
count disable enable latest_gc_info start stat stress stress=
インスタンスメソッド
garbage_collect

特異メソッド

count -> Integer[permalink][rdoc]

プロセス開始からガーベージコレクトを実行した回数を Integer で返し ます。

disable -> bool[permalink][rdoc]

ガーベージコレクトを禁止します。

前回の禁止状態を返します(禁止されていたなら true, GC が有効であったなら、 false)。

[SEE_ALSO] GC.enable

enable -> bool[permalink][rdoc]

ガーベージコレクトを許可します。

前回の禁止状態を返します(禁止されていたなら true, GC が有効であったなら、 false)。

[SEE_ALSO] GC.disable

latest_gc_info(result_hash = {}) -> Hash[permalink][rdoc]
latest_gc_info(key) -> object

最新のGCの情報を返します。

[PARAM] result_hash:
戻り値のためのハッシュを指定します。省略した場合は新 しくハッシュを作成します。result_hash の内容は上書き されます。
[PARAM] key:
得られる情報から特定の情報を取得したい場合にキーを Symbol で指定します。
start(full_mark: true, immediate_sweep: true) -> nil[permalink][rdoc]

ガーベージコレクトを開始します。

GC#garbage_collectObjectSpace.#garbage_collect と同じ働きをします。 GC.disable により GC が禁止されている場合は何もしません。

nil を返します。

[PARAM] full_mark:
マイナー GC を動作させる場合は false を、そうでない場 合は true を指定します。
[PARAM] immediate_sweep:
sweep を遅らせる(Lazy Sweep を行う)場合は false を、そうでない場合は true を指定します。

注意: これらのキーワード引数は Ruby の実装やバージョンによって異なりま す。将来のバージョンとの互換性も保証されません。また、Ruby の実装がサポー トしていない場合はキーワード引数を指定しても無視される可能性があります。

stat(result_hash = {}) -> {Symbol => Integer}[permalink][rdoc]
stat(key) -> Numeric

GC 内部の統計情報を Hash で返します。

[PARAM] result_hash:
戻り値のためのハッシュを指定します。省略した場合は新 しくハッシュを作成します。result_hash の内容は上書き されます。
[PARAM] key:
得られる統計情報から特定の情報を取得したい場合にキーを Symbol で指定します。
[RETURN]
GC 内部の統計情報をHash で返します。 引数 key を指定した場合は数値を返します。
GC.stat
# =>
{
  :count=>2,
  :heap_used=>9,
  :heap_length=>11,
  :heap_increment=>2,
  :heap_live_slot=>6836,
  :heap_free_slot=>519,
  :heap_final_slot=>0,
  :heap_swept_slot=>818,
  :total_allocated_object=>7674,
  :total_freed_object=>838,
  :malloc_increase=>181034,
  :malloc_limit=>16777216,
  :minor_gc_count=>2,
  :major_gc_count=>0,
  :remembered_shady_object=>55,
  :remembered_shady_object_limit=>0,
  :old_object=>2422,
  :old_object_limit=>0,
  :oldmalloc_increase=>277386,
  :oldmalloc_limit=>16777216
}

戻り値のハッシュは処理系に依存します。これは将来変更になるかもしれません。

本メソッドは C Ruby 以外では動作しません。

stress -> bool[permalink][rdoc]
stress=(value)

GC.stress が真に設定されている間は、GC を行えるすべての機会に GC を行います。

[PARAM] value:
任意のオブジェクト。真偽値として解釈されます。

インスタンスメソッド

garbage_collect -> nil[permalink][rdoc]

ガーベージコレクトを開始します。

GC.startObjectSpace.#garbage_collect と同じ働きをします。 GC.disable により GC が禁止されている場合は何もしません。

nil を返します。