を使用してマルチスレッド HTTP プロキシを作成しlibcurl
ました。問題は、アプリケーションが使用する RAM が時間とともに増加することです (http 要求に応答した後)。
動的に割り当てられたすべての変数と、によって使用されるヘッダーリストを解放することを確信しています。また、すべてのリクエストの後libcurl
に実行します。しかし、アプリケーションをデバッグした後、1バイトも解放されないことがcurl_easy_cleanup
わかりました(削除した後、アプリケーションは同じ量のメモリを使用します)curl_easy_cleanup
メモリ使用量は最初は急激に増え、その後ゆっくりと増えていきます(全く増えないこともあります)
アプリケーションがかなりの量のメモリを解放する唯一の瞬間は、ブラウザを閉じたときです (ただし、アプリケーションが起動されたときに最初に使用された量までではありません)。
Valgrind は確実にメモリ リークを通知しません (いくつかのメモリ リークの可能性がありますが、ほんの数バイトfree
です) curl_easy_cleanup
curl_global_cleanup
。