【发布时间】:2014-01-29 20:06:26
【问题描述】:
我们将 LibCurl 用于我们的机顶盒应用程序。它用于多线程环境,我们可以同时打开多个 curl 句柄,但我们会在下载完成后立即关闭它。
似乎在打开 curl 句柄时(无论我们下载多少),curl 分配了一些内存,随着 curl 句柄数量的增加而增加(我测试了一个有 100 个线程的场景 --- 其中大约 30Mb 的内存是提前分配)。 (只要我们调用curl_easy_init()---内存中有跳转,句柄销毁后没有释放)
在我们的应用程序中,例如:一个 curl 句柄可能仅用于查看服务器是否已启动 --- 但即使这样也会占用我们的内存。
在我们的场景中,内存非常重要。所以,我们不希望 curl 提前缓存那么多内存。
有什么建议可以帮助我们减少curl缓存的内存吗?
【问题讨论】:
-
你已经用 3 种语言标记了它……是哪一种?
-
你看过 curl_easy_cleanup(curl); 吗?
-
是的,每次使用后我们都会清洁卷曲手柄。
-
--- 但是我们在不同的线程中有 8 个 curl 句柄,这些句柄在应用程序关闭之前一直处于打开状态......