话不多说上一张图
这种图上的内存,每隔差不多五分钟的时间,内存就被跑满,然后一次fullgc,内存瞬间下来,初发现这个问题的时候,肯定是内存泄漏了,开始找有没有什么死循环之类的,用jprofiler找到对象最大的对象,然后找到new出来的对象地方,发现没有出现什么死循环之类的。困惑了好久,最好仔细分析一下,如果真是死循环,那么就算fullgc的话,gc也不会瞬间就把对象回收完全,那么肯定是年轻代中,对象没有被回收,但是这些对象很显眼存活的时间不久,但是长过年轻代被回收的时间,那就是肯定是瞬间创建了太多对象,但是大多没有用到,但是没有被释放,所以就顺着这个思路,一路找下来,发现就是玩家寻路和机器人寻路的时间不一样,但是时间比较短的对象和保存比较的对象存活期是一样的,而且数量巨多,经过修改代码之后,内存目前看来是正常了。
相关推荐
如何解决Java内存泄漏
java内存泄露、溢出检查方法和工具。 步骤: 1,使用linux命令生存堆栈文件 2,用MemoryAnalyzer.exe工具打开 3,根据工具生成的饼状图可以清晰的找出内存泄漏源
java内存泄漏分析工具
java内存泄漏解决java内存泄漏解决java内存泄漏解决
java 内存泄漏
java内存泄露查询的几个命令系统命令的使用说明
什么是内存泄漏?造成内存泄漏的原因?如何解决内存泄漏?以及如何避免内存泄漏等。。。
java内存泄露定位与分析
java内存泄露问题的定位与详细的分析过程
详细介绍了 java内存泄露 的一些细节,很受用的
有关java内存泄露的详细资料,Java与C语言的内存管理模型,内存泄漏方式
关于JAVA内存泄漏问题注意事项.doc
Java内存泄露及内存无法回收解决方案,深入讲解相关原理及相关过程。
通过一个Demo来简要介绍下ThreadLocal和ClassLoader导致内存泄露最终OutOfMemory的场景。下面通过示例代码给大家分享Java内存泄露的相关知识,感兴趣的朋友一起看看吧
Java系统内存泄漏的研究 让你轻松认识。java 中的内核机制及性能调优方面的东西。
java 内存泄露分析方法、在工作中经常会碰到各种原因导致的内存泄露问题,本方法或许可以帮你快速定位内存泄露的原因从而解决问题
Java 内存泄露 解决方案 outofmemoryException 从实践获取真理
该工具用来排查线上程序出现内存泄漏或溢出,死锁等相关问题,快速分析堆栈异常情况,找到问题代码进行修复。
详细介绍Java的内存管理与内存泄露 作为Internet最流行的编程语言之一...这里与大家分享我们在开发过程中遇到的Java内存泄漏的检测和处理解决过程. 本文先介绍Java的内存管理,以及导致Java内存泄露的原因。 ........
由于在开发和面试中往往都会遇到java内存泄露问题,所以综合个人平时遇到的和搜集了些网上的关于内存泄露问题写了这篇总结,同时加了点小例子,希望对大家有所帮组,如果有所不全,希望给我留言提出来,供大家相互...