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

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

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

 

通过lsof -p  进程id

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

 

 

查看连接数情况

netstat -altupn|grep 8083

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

 

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

posted @ 2021-05-19 16:10  陶士涵  阅读(35)  评论(0编辑  收藏  举报