FastHttpApi icon indicating copy to clipboard operation
FastHttpApi copied to clipboard

大佬,为什么接收消息之后,buffer不释放

Open Kornephoros opened this issue 2 years ago • 3 comments

image image 这边的几百个byte[]大小都和设置里面的BufferSize一样。在服务器接收的消息多了之后,会占用大量内存,直至把服务器内存撑爆。

Kornephoros avatar Aug 10 '22 02:08 Kornephoros

buffer分配总容量不会超过BufferPoolMaxMemroy超过再分配就抛异常;buffer会常住一定数量并不会回收,这是组件的设计机制。

beetlex-io avatar Aug 10 '22 06:08 beetlex-io

buffer不回收是为了速度考虑吗。如果bufferPoolMaxMemory被超过了,需要怎么处理呢。旧的buffer不会重复利用吗

Kornephoros avatar Aug 10 '22 06:08 Kornephoros

不存在旧的buffer,buffer在pool中是重复使用的,也有个别没标记回收的会定时清除。其实buffer size 8k就行没有必要定义这么大

beetlex-io avatar Aug 10 '22 10:08 beetlex-io