如何在jstat输出中解释这些* narrow * spikes?

时间:2009-06-19 20:58:38

标签: java jvm

尝试使用jstat监视JVM的性能时,我看到以下几行 -

  Timestamp      PC       PU        OC          **OU**       YGC    FGC    FGCT     GCT
      ...
      283.7 132608.0 132304.8   1572864.0    **398734.1**     20     0    0.000    3.061
      284.0 132608.0 132312.8   1572864.0   **1547795.2**     21     0    0.000    3.061
      284.2 132608.0 132313.7   1572864.0    **417220.7**     21     0    0.000    3.418
      ...

相关的JVM运行时带有2.5GB的Eden和4GB的Max。堆(-Xmn2560m -Xms4096m -Xmx4096m)

我不明白Old Gen.使用中的这些尖峰怎么可能?

1 个答案:

答案 0 :(得分:1)

完全猜测,但看起来它发生了正确,因为年轻的一代做了GC,可能会把新物品踢进老一代。这可能会导致老一代更严格的压缩传递。

我猜它复制了所有新东西(使旧版本更大),然后将其压缩...再次猜测。

由于你正在从年轻一代移动一堆东西,即使没有完整的GC,也可能需要时间(和空间)来移动一些东西。