0

私はいくつかのテスト コード (私自身) を実行していますが、使用するメモリ量を自己報告してもらいたいと考えています。理想的には、これが最高水準点になります。topアクティビティモニターやレポートのようなもの。

C++ コードで、OSX や Linux で動作する必要があります。両方で機能するアプローチは素晴らしいですが、どちらかで機能するものは歓迎されません。

OSX プログラムが使用しているメモリの量を調べるにはどうすればよいですか?

4

1 に答える 1

1

おそらく、tcmalloc、jemalloc、またはその他の malloc の代替品のようなものを調べます。tcmalloc はかなりのイントロスペクションを提供します - http://gperftools.googlecode.com/svn/trunk/doc/tcmalloc.htmlは、利用できるものの概要を示します。「一般的な Tcmalloc ステータス」および「メモリ イントロスペクション」セクションを参照して、その方法を選択する場合に役立つアイデアを確認してください。jemalloc について知りたい場合は、http://www.facebook.com/notes/facebook-engineering/scalable-memory-allocation-using-jemalloc/480222803919 を参照してください

それに加えて、情報を取得するための OS 依存のメカニズムもいくつかあります。Linux では、 /proc/self/statm に必要なものがすべて含まれているはずです。man procそこのファイルにドキュメントが必要です。

統計用にインストルメント化された malloc の置換は、おそらく、自分で実装するものよりも使いやすく、移植性が高く、包括的です。

于 2013-11-06T03:18:22.360 に答える