io.netty.util.internal.OutOfDirectMemoryError
See original GitHub issueActual behavior
io.netty.util.internal.OutOfDirectMemoryError - failed to allocate 16777216 byte(s) of direct memory (used: 3456106503, max: 3464495104) 200 B (0%) n/a
Netty version
4.1.16.Final
JVM version (e.g. java -version
)
1.8.0_152
OS version (e.g. uname -a
)
Linux
Four weeks after netty uptime, I’m experiencing CPU spikes that once happen they stay high. Then, netty server fails to accept an amount of 10-20% of incoming connections. I captured the threads that consume the most cpu and I found the exception they were throwing was io.netty.util.internal.OutOfDirectMemoryError.
Also before this I’m experiencing garbage collection issues once a week, system hangs unless I call manually System.gc() from a remote administration panel that uses another netty bootstrap instance for the admin client. Therefore the memory is heavily used but always goes down after full gc.
Issue Analytics
- State:
- Created 6 years ago
- Reactions:1
- Comments:19 (8 by maintainers)
Top GitHub Comments
@jo-kin yes… you may try writing faster then the remote peer accepts… You can check
Channel.isWritable()
to see if it is writable atm.ChannelInboundHandler.channelWritabilityChanged(...)
will be triggered whenever the writability state of theChannel
changesDataBufferUtils.release(buffer);