go - Twitch.TV 下载器:内存泄漏和 http.Client 拨号查找:打开的文件太多
问题描述
我正在编写streamlink
类似 CLI 工具,但能够使用 goroutine 同时下载多个twitch.tv直播流。
几个小时后,内存使用率为 37%(2 GB RAM)并且 unix文件描述符达到限制。
- 增加 'ulimit -n' 不是一个选项。
- 是的,我也使用
resp.Body.Close()
和'Connection': 'close'
标记defer
。
我放弃并需要帮助,阅读文章,搜索它,尝试了我所知道的一切。请看一下代码和日志。
PS:是否有任何 CLI 工具来检测内存泄漏?
解决方案
推荐阅读
- python - Python 基本类型的内存使用(特别是 int 和 float)
- javascript - 使用if-loop根据js中的输入计算价格
- mongodb - MongoDB ISODate 返回不正确的日期和月份
- android - 如何用我的图像填充整个背景?安卓
- node.js - 无法通过环境变量连接到 MongoDB
- php - 如何为 whmcs 博客添加挂钩
- angular - Angular 2+ ngx-print 将数据添加到打印部分
- javascript - React Native 抽屉导航:如何通过单击特定场景中的自定义按钮来打开抽屉?
- database - MLAB / Heroku - mongorestore 未定义
- javascript - 仅当元素在屏幕上不可见时才滚动到可滚动 div 中的元素