v2 版本,连接接受接受缓冲区一直增大,导致OOM
wangjielalala opened this issue · comments
jacewang commented
jacewang commented
jacewang commented
cmd 命令是: ./gocv2 server
Changjun Ji commented
可能是bug,欢迎提交PR
Li Yiyang commented
- netstat 显示的 send-q, recv-q 属于 tcpip 协议栈,和进程内存没有关系。有堆积说明进程未 recv
- 你 rss kill 时好像才 <200M?是不是内存给小了
- 我这边有长时间运行的 goc server < 50M,给一下使用场景/网络情况/agent 规模
jacewang commented
1、第一个问题是确实和进程内存没关系,但是如果连接缓存有堆积,导致系统内存增大,导致OOM,同时也解释了第二个问题,虚机内存资源确实紧张,但是不是根本原因,根本原因是有 业务代码收包逻辑有bug,导致连接缓存堆积
2、使用场景是 我们的容器服务会注册到注册中心,过程中会发起获取覆盖率请求和心跳请求
网络情况: 抓包有堆积连接5分钟显示 心跳包正常,排除心跳逻辑有问题, 网卡没有出现异常包和丢包现象,但是运行大概一周后就会被OOM,期间 连接缓存一直增大
agent规模: 同时在线establish 连接是 180 - 200,范围之间
jacewang commented
还有补充一点是, 并不是所有 establish 连接 都有堆积问题,只有 大概只有 5%的连接会有这种问题
jacewang commented
1、第一个问题是确实和进程内存没关系,但是如果连接缓存有堆积,导致系统内存增大,导致OOM,同时也解释了第二个问题,虚机内存资源确实紧张,但是不是根本原因,根本原因是有
*业务代码收包逻辑有bug,导致连接缓存堆积*
2、使用场景是 我们的容器服务会注册到注册中心,过程中会发起获取覆盖率请求和心跳请求
网络情况: 抓包有堆积连接5分钟显示 心跳包正常,排除心跳逻辑有问题, 网卡没有出现异常包和丢包现象,但是运行大概一周后就会被OOM,期间
连接缓存一直增大
agent规模: 同时在线establish 连接是 180 - 200,范围之间
还有补充一点是, 并不是所有 establish 连接 都有堆积问题,只有 大概只有 5%的连接会有这种问题
Li Yiyang ***@***.***> 于2022年10月28日周五 13:13写道:
…
1. netstat 显示的 send-q, recv-q 属于 tcpip 协议栈,和进程内存没有关系。有堆积说明进程未 recv
2. 你 rss kill 时好像才 <200M?是不是内存给小了
3. 我这边有长时间运行的 goc server < 50M,给一下使用场景/网络情况/agent 规模
—
Reply to this email directly, view it on GitHub
<#314 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/ANANCBJNFAYFHUTMI3MEBV3WFNOIRANCNFSM6AAAAAARFC4O3Q>
.
You are receiving this because you are subscribed to this thread.Message
ID: ***@***.***>