Ruby 2.2.0 リファレンスマニュアル > ライブラリ一覧 > objspaceライブラリ > ObjectSpaceモジュール > memsize_of_all

module function ObjectSpace.#memsize_of_all

memsize_of_all(klass = nil) -> Integer[permalink][rdoc] [added by objspace]

すべての生存しているオブジェクトが消費しているメモリ使用量をバイト単位 で返します。

[PARAM] klass:
指定したクラスのインスタンスのメモリ使用量を返します。省略 した場合はすべてのクラスのインスタンスのメモリ使用量を返し ます。

本メソッドは以下のような Ruby のコードで定義できます。

def memsize_of_all klass = false
  total = 0
  ObjectSpace.each_object{|e|
    total += ObjectSpace.memsize_of(e) if klass == false || e.kind_of?(klass)
  }
  total
end

戻り値の内容は完全ではない事に注意してください。この内容はあくまでもヒ ントとして扱う必要があります。特に T_DATA の値は正しくないでしょう。

また、同様に戻り値の内容は malloc されたメモリの合計でもない事に注意し てください。

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