【发布时间】:2013-09-20 11:00:31
【问题描述】:
我正在开发一个基于 Netty 的服务器,其中并发连接数应该在 100000 左右。但是,当我将该数字设置为 100 时,我并没有用完内存,但是当我将数字增加到 10000 时,我得到了 outmoemory 缓冲区异常.知道 Netty 可以处理的比我预期的还要多,我想知道如何设置 serverbootstrap 来满足如此大的数量。
谢谢。
【问题讨论】:
我正在开发一个基于 Netty 的服务器,其中并发连接数应该在 100000 左右。但是,当我将该数字设置为 100 时,我并没有用完内存,但是当我将数字增加到 10000 时,我得到了 outmoemory 缓冲区异常.知道 Netty 可以处理的比我预期的还要多,我想知道如何设置 serverbootstrap 来满足如此大的数量。
谢谢。
【问题讨论】:
你用多少内存运行这个程序?因为它是OutOfMemoryException 被抛出,看起来你可以将-Xmx 设置更改为-Xmx2048m 之类的东西,看看它是否有效。这可能与 netty 本身没有任何关系。
如果您确信存在泄漏,则使用 visualvm 之类的工具(顺便说一句,这是免费的!)分析是否有任何 netty 对象在堆上,即使在请求/gc 完成后也是如此。
在 linux 中,当运行如此多的并发连接时,您通常会遇到 too many open files 异常,那里有大量关于如何解决它的文档。
【讨论】: