如何使用jstat获得堆使用率?

2022-09-04 21:36:32

我正在运行(来自OpenJDK):jstat -gc

# jstat -gc 1
 S0C    S1C    S0U    S1U      EC       EU        OC         OU       MC     MU    CCSC   CCSU   YGC     YGCT    FGC    FGCT     GCT
287744.0 290304.0 88368.6  0.0   1469440.0 787186.5 2162176.0  1805969.7  945432.0 923880.4 136576.0 133284.0    268   32.797  21     30.089   62.886

如何阅读:

  1. 已用堆

  2. 堆大小

  3. 最大堆数

从这个输出,就像VisualVM所示的那样?


答案 1

有关般参考,请参阅 https://docs.oracle.com/javase/8/docs/technotes/tools/unix/jstat.html。

当前堆大小将是以“C”结尾的所有字段的总和 - S0CS1CECOC(元空间除外,它是以“M”开头的字段))

已用堆将是以“U”结尾的所有字段的总和 - S0US1UEUOU(同样,元空间除外)。

请注意,“C”值(电流)大于或等于“U”值(实际使用)。

要获得最大值,请使用标志运行jstat,并将所有以“MX”结尾的字段相加(NGCMXOGCMX,...除了 MCMX,它是元空间)。-gccapacity


答案 2

推荐