rubyには、rubyオブジェクトで使用されるメモリを見つける関数があります。
Cにsizeof()
関数があり、PHPにmemory_get_usage()
関数がある方法に似ています。ルビは同等の関数/メソッドを持っていますか?rubyオブジェクトで使用されるメモリを見つける方法は?
答えて
これはストレッチですが、あなたの目標は、メモリリークを探すのではなく、個々のオブジェクトのサイズを確認する場合、あなたはのように、object_count(cls)
に見えるかもしれません:などFWIW
>> ObjectSpace.each_object(Object).count
=> 114629
>> ObjectSpace.each_object(Array).count
=> 10209
、シンボルは少し異なっている:あなたは経由シンボルの数を取得することができます:あなたがいないの漏れがある場合は、手動でしばらくの間、あなたのコードを実行して、あなたのオブジェクトを数え、GCを呼び出すことができます見つけるに
>> Symbol.all_symbols.count
=> 17878
、 GCをもう一度コールして、オブジェクト数が大幅に増加したかどうかを確認します。
もちろん、各オブジェクトのサイズは分かりませんが、割り当てられるクラスの数はどれだけですか。
また、memprofもありますが、私はそれをまだ使用していないことを認めます。
これはメモリ内のオブジェクトの数です。元の質問は、私が理解しているように、単一のオブジェクトのメモリ使用量(バイト単位)を調べる方法を尋ねます。 – Ariejan
@Ariejan:完全に同意します。だからこそ私は「あなたの目標が個々のオブジェクトのサイズを見るのではなく、メモリリークを探すことだと言ったのです」 –
- 1. Javaクラスで使用されているメモリを見つける方法は?
- 2. PHPでオブジェクトが使用するメモリを見つける方法は? (sizeof)
- 3. Haskellでプログラムのメモリ使用を見つける方法
- 4. Ruby on Railsで未使用のコードを見つける方法
- 5. メモリ内のオブジェクトを見つける方法
- 6. IList.Contains()メソッドを使用してオブジェクトを見つける方法
- 7. Apache TomcatでWebアプリケーションのメモリ使用量を見つける方法
- 8. Windowsでカーネルモードからプロセスによって使用されるメモリを見つける方法
- 9. Javaヒープダンプからキャッシュされたオブジェクトを見つける方法
- 10. ルアでは、オブジェクトが格納されているキーを見つける方法
- 11. メモリ内で最大のオブジェクトを見つけるには?
- 12. ネットワークで使用されていないIPアドレスを見つける方法は?
- 13. ウェブサイトで使用されている認証を見つける方法
- 14. NSKeyedArchiver/NSKeyedUnarchiverで使用されるすべてのキーを見つける方法
- 15. `cd -`で使われるパスを見つける方法は?
- 16. プロセスメモリで未使用のメモリを見つける
- 17. Ruby:特定の属性に一致するネストされたオブジェクトを見つける方法
- 18. Ruby Hash vs. Arrays:アイテムを見つける最速の方法は?
- 19. コンテキストメニューと呼ばれるオブジェクトを見つける方法
- 20. WPF:Canvasで使用できるスペースを見つける方法
- 21. Handlebarsヘルパーを使用してオブジェクトの長さを見つける
- 22. フォーカスされたコントロールをMVVMで見つける方法は?
- 23. Rubyスクリプトの実行に使用された完全なパスを見つける方法
- 24. 特定のデータベースの変更されたオブジェクトを見つける方法は?
- 25. Pythonの属性でオブジェクトを見つける方法は?
- 26. openCVでRectオブジェクトの角を見つける方法は?
- 27. Jqueryで配列のオブジェクト値を見つける方法は?
- 28. モンゴースでオブジェクトの配列を見つける方法は?
- 29. ruby on railsでUserオブジェクトを見つける
- 30. taskAdapterでアラームマネージャを使用する方法を見つける
おそらく複製:http://stackoverflow.com/questions/3973094/how-to-measure-the-size-of-a-ruby-object – Matt
@Matt - ありがとうございます。 –
私は不思議です:あなたの質問の目的は何ですか?あなたはオブジェクトのサイズを知ることができるようにしたいのですか、または特定のオブジェクトの多数が取るメモリの量を把握しようとしていますか? – Sim