/ /クリーンアップ後もメモリが減少しない-C ++、メモリ管理

クリーンアップ後でさえ、メモリは削減されません - c ++、メモリ管理

私はいくつかのイベントを受信するC ++サービスを持っています。それらは処理された後にファイルに書き込まれ、メッセージがメモリに保存されるまで、イベントを格納する大きなデータ構造があります。

書き込みが完了したら、すべてのクリーンアップを行いますメモリを格納する構造ですが、その後もメモリはダウンしていません。私はすべての共有ポインタを持っているので、最終的には何かが欠けていても、それらはしばらくしてからクリーンアップする必要がありますが、それも起こっていません。

サービスでvalgrindを実行しましたが、メモリリークは表示されません。 確認できる方法があるかどうか、メモリが占​​有されている場所を確認したいですか?

回答:

回答№1は1

それは正常です。ほとんどの場合、メモリを解放することは純粋な効率低下であり、最新のシステムでは回避されます。

他の何かのためにメモリが必要ない場合、それを無料にする努力は明らかに無駄です。他の何かに必要な場合は、OSが再び使用するだけで無駄になるため、無駄になります。

現代のシステムは、選択の余地がない限り、メモリを途中で解放することなく、ある使用から別の使用に直接移行します。