Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to get heap usage using jstat?

I'm running jstat -gc (from OpenJDK):

# 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

How to read:

  1. used heap

  2. heap size

  3. max heap

from this output, just like shown by VisualVM?

like image 359
X. Wo Satuk Avatar asked May 02 '17 10:05

X. Wo Satuk


1 Answers

See https://docs.oracle.com/javase/8/docs/technotes/tools/unix/jstat.html for general reference.

Current heap size would be the sum of all the fields that end with "C" - S0C, S1C, EC, OC (except for metaspace which is the fields that start with "M")

Used heap would be the sum of all the fields that end with "U" - S0U, S1U, EU, OU (again, except metaspace).

Note that the "C" values (current) are greater than or equal to "U" values (actually used).

To get maximum values run jstat with the -gccapacity flag and add up all the fields that end with "MX" (NGCMX, OGCMX, ... except for MCMX which is metaspace).

like image 105
S. D. Avatar answered Oct 15 '22 07:10

S. D.