标签: java profiling heap-dump thread-dump
我正在尝试找出分析为什么应用程序突然比以前更频繁地分配内存的最佳方法。为了更好地理解我的意思,请看一下此内存图。
如您所见,它可以正常运行几天,然后以更快的方式分配内存。
什么工具可以帮助我?最好的方法是什么?
我已经进行了几次线程转储,但是没有任何明显的变化。我将堆甩了两次,并比较了对象,但这也无济于事。
我不认为这是内存问题,因为完整的gc总是可以清理相同数量的内存。看起来有些例程开始运行,这需要大量内存。它与使用率较高无关,因为重新启动应用程序后它会恢复正常。