golang too many open files
背景: 需要做一个小文件下载工具,需要做到并发,使用了beego的httplib作为http资源的下载工具, 在服务器上没什么问题(有问题没暴露),但是在本地机器上出现too many open files 查因 这是一个unix上一个比较常见的错误,问题是怎么出现的呢,明明已经限制的协程的数量。怎么会出现过多的socket连接导致文件数超限。 通过获取进程打开文件数 明显看到socket的数量明显多于预期。什么原因导致没有关闭连接 检查代码发现自己也是简单的用了httplib.Get函数然后使...阅读全文