GateWay内存占用大

wudihzh

压测了大概20小时后,gateway进程最大的去到20M,而businiess内存还是2m多,gateway代码没改动过,请问这是为什么?

5184 3 0
3个回答

walkor

gateway进程会维护客户端的连接,每个连接会占用一定的内存。所以随着连接数的增大,gateway进程内存会增大。这些连接断开后内存会恢复,当然不会恢复到刚启动时的内存值,因为gateway运行过程中会载入固定几个文件到内存,内存会有所增加,但最终到达一个较低的恒定值,不会有内存泄露。

另外压测时客户端不要只发数据,不读数据,那样会导workerman发送缓冲区堆积一定的数据,同样会导致内存增加,由于每个连接发送缓冲区大小固定,所以内存增长到一定程度后,也会达到恒定值,不会有内存泄露。

kane

那么如何手动清理 缓冲区 中的数据呢?

  • 暂无评论
walkor

不用清理,缓冲区的数据发送到对方就会自动释放了,或者链接断开也会自动释放

  • 暂无评论
年代过于久远,无法发表回答
🔝