我正在开发一个基于Netty的服务器,其中并发连接的数量应该在100000左右。但是当我将该数字设置为100时,我的内存不会耗尽但是当我将数字增加到10000时,我得到了外部缓冲区异常。知道Netty可以处理的比我想象的还要多,我想知道如何设置serverbootstrap以满足这么多的数量。
谢谢。
答案 0 :(得分:1)
你运行这个程序有多少内存?由于OutOfMemoryException
被抛出,看起来您可以将-Xmx
设置更改为-Xmx2048m
,并查看其是否有效。这可能与netty本身没有任何关系。
如果您确信存在泄漏,那么使用像visualvm这样的工具(顺便说一句是免费的!)来分析堆中是否有任何netty对象,即使在request / gc完成后也是如此。< / p>
在linux中,运行这么多并发连接时通常会遇到too many open files
异常,有大量关于如何解决它的文档。