登录
首页 >  Golang >  Go问答

查看“打开的文件描述符”

来源:stackoverflow

时间:2024-04-20 19:27:27 100浏览 收藏

IT行业相对于一般传统行业,发展更新速度更快,一旦停止了学习,很快就会被行业所淘汰。所以我们需要踏踏实实的不断学习,精进自己的技术,尤其是初学者。今天golang学习网给大家整理了《查看“打开的文件描述符”》,聊聊,我们一起来看看吧!

问题内容

我有一个网页,后端用 Go 编写并在 Ubuntu 上运行,经过一定天数和活动(如发条)后,goroutine 将引发“恐慌”并开始给出 502 代理错误。我在 Go 中遇到的错误是“打开的文件太多。”

经过一些研究,我觉得我已经将问题范围缩小到“打开文件描述符”太多。我读过不同的建议解决方案,这些解决方案似乎对不同的人有不同的结果。这一切都很好,但如果我想实际查看这些所谓的实时打开文件描述符,以便我可以真正查明这些“文件”是什么,我该怎么做?我问这个问题是因为我不想尝试猜测我的 Go 程序的哪些部分导致了这个问题,我想看看是否可以进一步缩小范围(可能是未正确关闭的 MySQL 套接字,或者操作系统文件)未正确关闭等)


解决方案


您可以使用 lsof 命令 (Linux) 来“列出打开的文件”。将会有很多输出,因此最好使用选项来过滤输出。如果您知道进程的 PID,lsof -p 可能会很有用。使用 ps 命令查找 PID。

到这里,我们也就讲完了《查看“打开的文件描述符”》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注golang学习网公众号,带你了解更多关于的知识点!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>