Ruby 3.3 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > ObjectSpaceモジュール
クラス・モジュールの継承リスト: ObjectSpace
全てのオブジェクトを操作するためのモジュールです。
定義 | 説明 | |
---|---|---|
_id2ref(id) -> object
|
オブジェクト ID(BasicObject#__id__)からオブジェクトを得ます。 |
|
count_objects(result_hash = {}) -> Hash
|
オブジェクトを種類ごとにカウントした結果を Hash として返します。 |
|
define_finalizer(obj, proc) -> Array
|
obj が解放されるときに実行されるファイナライザ proc を登録します。同じオブジェクトについて複数回呼ばれたときは置き換えではなく追加登録されます。固定値 0 と proc を配列にして返します。 |
|
each_object {|object| ...} -> Integer
|
指定された klass と Object#kind_of? の関係にある全てのオブジェクトに対して繰り返します。引数が省略された時には全てのオブジェクトに対して繰り返します。繰り返した数を返します。 |
|
garbage_collect(full_mark: true, immediate_sweep: true) -> nil
|
どこからも参照されなくなったオブジェクトを回収します。 GC.start と同じです。 |
|
undefine_finalizer(obj) -> object
|
obj に対するファイナライザをすべて解除します。 obj を返します。 |
定義 | 説明 | ライブラリ |
---|---|---|
allocation_sourcefile(object) -> String
|
objectの元となったソースファイル名を返します。 |
objspace |
allocation_sourceline(object) -> Integer
|
objectの元となったソースファイルの行番号を返します。 |
objspace |
count_nodes(result_hash = nil) -> Hash
|
ノードの種類ごとの数を格納したハッシュを返します。 |
objspace |
count_objects_size(result_hash = nil) -> Hash
|
型ごとのオブジェクトサイズをバイト単位で格納したハッシュを返します。 |
objspace |
count_tdata_objects(result_hash = nil) -> Hash
|
T_DATA の種類ごとにオブジェクトの数を格納したハッシュを返します。 |
objspace |
memsize_of(obj) -> Integer
|
obj が消費するメモリ使用量をバイト単位で返します。 |
objspace |
memsize_of_all(klass = nil) -> Integer
|
すべての生存しているオブジェクトが消費しているメモリ使用量をバイト単位で返します。 |
objspace |
reachable_objects_from(obj) -> Array | nil
|
obj から到達可能なすべてのオブジェクトを返します。マーク不能なオブジェクトを指定した場合は nil を返します。本メソッドを使う事でメモリリークの調査が行えます。 |
objspace |
trace_object_allocations { ... }
|
与えられたブロック内でオブジェクトのトレースを行います。 |
objspace |
trace_object_allocations_start -> nil
|
オブジェクト割り当てのトレースを開始します。 |
objspace |
trace_object_allocations_stop -> nil
|
オブジェクト割り当てのトレースを終了します。 |
objspace |