添加选项MAX_SEND_SPEED_LARGE时,pyCurl会激活CPU

时间:2013-11-30 20:31:21

标签: python curl libcurl pycurl

我的应用使用PyCurl逐个上传多个文件。它适用于所有cURL选项,CPU消耗仍然低于1%。当我添加MAX_SEND_SPEED_LARGE选项来限制带宽时,CPU消耗将达到100%。

c.setopt(c.MAX_SEND_SPEED_LARGE, int(rate_limit))

进一步调查显示,它只发生在OS X 10.9

1 个答案:

答案 0 :(得分:1)

  • 您使用的是libcurl< 7.31.0?
  • 另外:您使用的是进度功能吗?

如果是的话,我会说你可能遇到libcurl 7.31.0中修复过的错误,即curl_easy_perform: avoid busy-looping

  

我在一个小脚本中使用pycurl下载coursera视频[...]它一直悬挂机器的1个核心[...]我可以确认这种情况发生,并且只有当速率限制时用于上传/下载

可以看到补丁here