记录一次Netty java.lang.OutOfMemoryError: Java heap space

发布于 2022-09-11 21:47:17 字数 1495 浏览 17 评论 0

线上跑差不多半天,其中一个应用程序会报错OOM

其他应用程序会跟这个OOM挂掉的应用程序进行每隔5秒的心跳通信。但是很有意思的是,总共布了四台机器,其余两台不会出现问题。所以我个人认为不是代码层面上的问题。四台布置的应用个数也是一样的。

错误信息

2019-08-14 09:16:01.148 [epollEventLoopGroup-3-5] INFO  c.s.p.c.n.s.h.ServerIdleHandler -[服务端
进程][服务端空闲检查器] [id: 0x0f5b7167, L:/127.0.0.1:10001 ! R:/127.0.0.1:58708] 下线了!
2019-08-14 09:16:07.940 [epollEventLoopGroup-3-6] WARN  io.netty.channel.ChannelInitializer -Failed to initialize a channel. Closing: [id: 0x8137a093, L:/127.0.0.1:10001 - R:/127.0.0.1:58710]
java.lang.OutOfMemoryError: Java heap space
2019-08-14 09:16:08.126 [epollEventLoopGroup-3-6] INFO  c.s.p.c.n.s.h.ServerIdleHandler -[服务端
进程][服务端空闲检查器] [id: 0x8137a093, L:/127.0.0.1:10001 ! R:/127.0.0.1:58710] 下线了!
2019-08-14 09:16:12.772 [epollEventLoopGroup-3-7] WARN  io.netty.channel.ChannelInitializer -Failed to initialize a channel. Closing: [id: 0xf3ea6fc5, L:/127.0.0.1:10001 - R:/127.0.0.1:58716]
java.lang.OutOfMemoryError: Java heap space

使用visualVM分析dump文件

clipboard.png

clipboard.png

是管道频繁断开,频繁注册引起的?

后面发现在/etc/hosts里面,正常的两台是有这两句的,而不正常的没有这两句。我现在加上去,再观察下。

127.0.0.1   sunsharing-74 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         sunsharing-74 localhost localhost.localdomain localhost6 localhost6.localdomain6

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

删除会话 2022-09-18 21:47:17

实验证明确实是那两行导致,增加之后运行两天没有出现OOM。

Centos7环境按理说这两行注释掉,也没有关系才对

管道不断断开,重连,导致 被重连的这个应用服务OOM。

不太明白的是,断开动作是执行channle.close。 这样难道不能保证资源释放吗?

有没有netty的高手帮忙解释下这个现象~

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文