[Go] gin 解决: accept4: too many open files

2021-05-24 15:42:44 浏览数 (1)

我的在线客服系统 go gin服务出现了大量的 too many open files 错误 , 这时候服务也是连不上的

前端接口的显示就是504 , 超出了nginx设置的超时时间

通过lsof -p 进程id

可以看到打开的文件数量已经1031个了 , 说明了超出了单进程打开文件的限制默认1024 , 可以用ulimit -a

查看连接数情况

netstat -altupn|grep 8083

可以看到大量的close_wait状态 , 说明是我们被动关闭后 , 服务没有close掉这条连接

查看代码对websocket的处理后 , 发现确实没有关闭 , 修改后正常

0 人点赞