首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Netty-4.0.0.CR6抛出OutOfMemoryError

Netty-4.0.0.CR6抛出OutOfMemoryError
EN

Stack Overflow用户
提问于 2013-06-26 20:36:21
回答 1查看 1.8K关注 0票数 2

我正在用Netty-4 CR6的最新版本试用我的应用程序。在我的应用程序的服务器端,在大约200个请求/秒的负载下,我得到了以下错误:

代码语言:javascript
复制
io.netty.handler.codec.DecoderException: java.lang.OutOfMemoryError: Direct buffer memory
        at io.netty.handler.codec.ReplayingDecoder.callDecode(ReplayingDecoder.java:393)
        at io.netty.handler.codec.ByteToMessageDecoder.messageReceived(ByteToMessageDecoder.java:129)
        at io.netty.channel.DefaultChannelHandlerContext.invokeMessageReceived(DefaultChannelHandlerContext.java:379)
        at io.netty.channel.DefaultChannelHandlerContext.fireMessageReceived(DefaultChannelHandlerContext.java:364)
        at io.netty.channel.DefaultChannelHandlerContext.fireMessageReceived(DefaultChannelHandlerContext.java:347)
        at io.netty.channel.DefaultChannelPipeline.fireMessageReceived(DefaultChannelPipeline.java:780)
        at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:92)
        at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:489)
        at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:464)
        at io.netty.channel.nio.NioEventLoop.run(NioEventL

它是一个文件传输应用程序。我在Netty-4 CR6 jar中使用客户机和服务器构建。在每个请求中,客户端创建一个WebSocket连接,传输一个大约850KB的文件,最后通过发送CloseWebSocketFrame关闭连接。

EN

回答 1

Stack Overflow用户

发布于 2013-06-28 21:24:44

看一下下面的bug。你可能会撞上它的。这里有几个选项

  1. 在您的上游处理程序中使用msgs.releaseAll()
  2. 使用io.netty.channel.SimpleChannelInboundHandler类作为使用处理程序。然后,您不需要使用releaseAll逻辑,因为它会在内部由netty照顾您。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17320180

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档