-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
IM Server 怀疑内存泄露的问题 #683
Comments
jmap的内存详细文件不好发,我们通过jmap -histo PID > log.txt导出了一列表你们可以看看 |
上面的信息看到是正常的,只占用了5.5GB内存,还有15GB的内存空闲。可以在出现问题时查一下堆内存占用情况 |
根据之前邮件沟通的情况,可能是堆外内存泄漏导致的,启动命令加上 -Dio.netty.leakDetectionLevel=advanced 看看有没有堆外泄漏的日志。 |
还有你们的环境是什么情况,是什么操作系统,jdk的版本是什么 |
嗯 这个问题先不关闭 我这边再观察一段时间给你们足够判断的数据 |
今下午到今晚上从8G到15G了,启动命令那个日志要等下次了,这次先给你们一些目前能看到的数据。 附件是jmap -histo PID > log.txt导出的最新列表,可以和下午发给你们的做一下对比 服务器是16核32G,Xmx 设置的20G,Xms 设置的2G |
嗯,上面这个图看只占了6.8G,可能是堆外的内存泄漏,等你们抓个日志再看看 |
这个是什么情况,特别是jdk的情况? |
操作系统是ubuntu,jdk版本是jdk1.8.0_391 |
怎么看那个启动命令后的错误日志?我运行了2天,现在看到一个 ERROR [messages15] (MemoryMessagesStore.java:1894) - error!!!!! 这个错误 |
这个没有关系,可以不用管 |
查一下这几天的所有日志,搜索一下 LEAK 看看有没有这个字段 |
看了几十个日志,都没有搜索到这个字段,但是今天内存一下就从3到8G了,会不会是你们在的对应处理的时候没有加上这个打印?而且加上这个命令后,CPU使用率明显比之前高一些。 |
你可以查一下netty堆外内存泄漏相关信息,如果开启了上面那个开关,在第一次泄漏时会打印,但后面不会再打印,所以需要找一下最早的那些日志。CPU明显比之前高应该是这个开关在工作 |
你们有没有动过jvm的参数? |
只是改过运行内存 |
从前面提供的jmap信息看,实际占用物理内存远大于jvm内存,只能怀疑是堆外内存的泄漏,可以在下次重启时,按照 https://blog.csdn.net/fxh13579/article/details/104754340/ 这个说明抓一下 NMT信息 |
堆外内存溢出的问题,应该是这个二开的这个项目导致的moquette,我直接部署过这个项目,运行一段时间内存暴涨 打开了日志的debug模式,涨的会更快,怀疑一些日志打印造成了内存泄露 |
应该不是这个原因,我们这边测试了很久都没有能复现,可能是某个特殊的jdk的版本的问题,如果谁遇到内存的问题,可以跟我们联系排查 |
IM Server每次重启后运行几天,内存会突飞猛涨(以一种不正常的趋势,前几天可能只有3 4个G,到第三四天可能会在半天内涨几个G)引带CPU使用率居高不下,应该也不是性能不足导致的,因为重启后每次都还是能很稳定的运行几天。
这个问题应该怎么解决或者排查?
The text was updated successfully, but these errors were encountered: