初期化時に照会すると、すぐに2GBを超えるRAMを使用するプログラムがあります。基本的に、コードは次のようになります。
#include <blah>
int main() {
cout << get_mem_usage() << endl;
//Lots of things happen, but no significant memory usage
return 0;
}
出力:[2013-02-15 18:38:05.865283] 2147.71 Mb
ただし、私は多くの異なる共有オブジェクトファイルにリンクしています。lddをチェックし、合計.soサイズが66MBの58個のライブラリにリンクしています。
get_mem_usageプログラムが正しい値を返していることは間違いありません。これらはtopおよびmassifの出力と一致します。
また、私は高エネルギー物理学分析のためのROOTフレームワークに対してリンクしていることにも言及する必要があります。
Linux x86_64を使用していますが、get_mem_usage()関数は自家製です。
可能であれば、プログラムのメモリ使用量を減らしたいと思います。