実際にメモリがリークしていますか、それとも実行時間が長いほどメモリが消費されますか?言い換えれば、プログラムはおそらく単に成長し続けている大きな動的データ構造(リンクされたリストなど)を構築しているのだろうか?プログラムがメモリへのポインタを持っている限り、実際にはリークではありませんが、割り当てが解放されないと、新しいものはOSからより多くのメモリを取得します。それはまた、あなたが使用したツールが「漏れ」を報告しなかった理由を説明します。
私がこれをしなければならなかったとき、私のプログラムがメモリを割り当てて解放するたびにフラットファイルにログメッセージを書き込むようなことをやったことがあります。メッセージには、メモリが割り当てられたファイル名やプログラム行、メモリ割り当て時にmallocから返されたアドレス、解放されるファイル名とプログラム行、解放されるバッファのアドレスなどが含まれます。次に、結果ファイルをアドレスでソートすることができます。 "ALLOCATE"メッセージを持つが、 "FREE"メッセージを持たないアドレスは、漏洩している可能性があります。これは実装に時間がかかることがあり、自動化されたツールがあればより良いツールになりますが、状況によってはこのようなことをしなければならないかもしれません。
また、ガート・コレクターを使用してパントして使用することもできます。 Boehmコレクターがあなたのために働くかもしれません - http://www.hpl.hp.com/personal/Hans_Boehm/gc/を見てください。
共有して楽しんでください。
使用しているメモリの容量にバッファを含めていないのですか?あなたのプログラムがファイルなどを読み込むと、そこでは恒常的に増加する可能性がありますが、そのメモリは他のアプリケーションで利用できなくなるという意味では、実際には "使用中"ではありません。 – Arkku
私はかなり確信しています。私はプログラムを2日間実行した後、最初にこれに気付きました。それはすべてのメモリをいっぱいにしてクラッシュしました。 – Benubird