【发布时间】:2016-06-14 06:47:16
【问题描述】:
我只是在阅读/proc/diskstats 文件。我的代码是:
func ReadFromFile(filepath string)(string){
defer func() {
if err1 := recover(); err1 != nil {
fmt.Println("!!!!!!!!!!!!!!!!Panic Occured and Recovered in readFromFile(), Error Info: ", err1)
}
}()
strData := ""
data, err := ioutil.ReadFile(filepath)
if err != nil{
fmt.Println("File read error: ", err)
return ""
}
strData = string(data)
return strData
}
我得到的错误是:
File read error: open /proc/diskstats: too many open files
不仅对于这个文件,我对其他一些文件也遇到了同样的错误。
我也运行了这个命令:
root@golang:~# lsof|wc -l
785
请指导我。
【问题讨论】:
-
你的 ulimit 是多少?
-
我重新启动了我的服务然后我没有收到任何错误,但是 lsof|wc -l 输出的输出一直在增加。
-
看完是不是要关门了?
-
不,我想是的,怎么做。你能帮忙吗?
-
你是怎么调用函数的?泄漏似乎来自其他地方。
标签: go