找出java中的内存分配热点

Zam*_*mir 15 java performance garbage-collection jvm memory-management

我们的GC正在努力工作,我们想要减少一些暂停.我们在使用实际的JVM GC args进行调整之前或之时想要解决一些内存分配问题.

我想知道哪些物体让GC出汗:

  1. 有没有办法知道每次GC运行时哪些物体都被疏散?
  2. 有没有办法知道每次GC工作时哪些对象在区域之间移动?
  3. 有没有办法知道哪些物体在伊甸园区?

我正在与Jprofiler和Memory Analyzer进行广泛的合作.我想在我的暂存环境中获取有关正在运行的应用程序的此信息.

cmo*_*key 2

对于问题1, 可以使用Phantom References 。这将允许您在对象被 GC(或可 GC)时收到通知。

至于另外两个,我就不太清楚了。