社内se × プログラマ × ビッグデータ

プログラミングなどITに興味があります。

ヒープサイズを変えつつ jstat コマンドで GC の様子を見てみる

jstat コマンドで GC の様子を見てみる - 社内se × プログラマ × ビッグデータ
ここで使ったプログラムをヒープサイズを変えつつ GC の様子を見てみます。

$ jstat -gcutil -h10 [pid] 1000

ケース1:

-Xms1024m
-Xmx1024m
  S0     S1     E      O      M     CCS    YGC     YGCT    FGC    FGCT     GCT   
 58.73  89.92  73.82  36.11  81.91  86.90     14    5.780     8   20.965   26.745
  0.00  99.97 100.00  70.45  81.91  86.90     15    6.497     9   20.965   27.462
  0.00  99.97 100.00  70.45  81.91  86.90     15    6.497     9   20.965   27.462
  0.00  99.97 100.00  70.45  81.91  86.90     15    6.497     9   20.965   27.462
  0.00  99.97 100.00  70.45  81.91  86.90     15    6.497     9   20.965   27.462
 55.64   0.00 100.00  66.27  81.91  86.90     16    6.497     9   25.006   31.503
100.00   0.00   0.00  66.35  81.91  86.90     16    6.871    10   25.006   31.877
100.00   0.00   0.00  66.35  81.91  86.90     16    6.871    10   25.006   31.877
100.00   0.00   0.00  66.35  81.91  86.90     16    6.871    10   25.006   31.877
  0.00  95.54   0.00  82.96  81.91  86.90     17    7.212    11   28.388   35.600
  0.00  95.54   0.00  82.96  81.91  86.90     17    7.212    11   28.388   35.600
  0.00  95.54   0.00  82.96  81.91  86.90     17    7.212    11   28.388   35.600
  0.00  95.54   0.00  82.96  81.91  86.90     17    7.212    11   28.388   35.600
  0.00   0.00  17.96  98.82  81.91  86.90     17    7.212    11   32.430   39.642
  0.00   0.00 100.00  98.82  81.91  86.90     17    7.212    12   32.430   39.642
  0.00   0.00 100.00  98.82  81.91  86.90     17    7.212    12   32.430   39.642
  0.00   0.00 100.00  98.82  81.91  86.90     17    7.212    12   32.430   39.642
 66.69  64.55  72.52   7.78  81.93  86.90     19    7.351    13   35.987   43.338

所要時間
BigList 748ms
BigMap 17187ms
Young世代のGCイベントの数 5回
フルGCイベントの数 5回

ケース2:

-Xms1536m
-Xmx1536m
  S0     S1     E      O      M     CCS    YGC     YGCT    FGC    FGCT     GCT   
  0.00   0.00  95.72  65.91  82.30  86.90      5    4.612     4   16.251   20.863
 99.95   0.00 100.00  27.44  82.31  86.90      6    4.612     4   17.433   22.045
 46.32  99.98 100.00  47.65  82.31  86.90      8    5.648     4   17.433   23.082
 99.98   0.00   0.00  61.26  82.31  86.90      8    6.249     5   17.433   23.682
 99.98   0.00   0.00  61.26  82.31  86.90      8    6.249     5   17.433   23.682
 99.98   0.00   0.00  61.26  82.31  86.90      8    6.249     5   17.433   23.682
 99.98   0.00   0.00  61.26  82.31  86.90      8    6.249     5   17.433   23.682
 99.98   0.00   0.00  61.26  82.31  86.90      8    6.249     5   17.433   23.682
  0.00   0.00  87.26  54.26  82.31  86.90      8    6.249     5   22.820   29.068
 97.34  70.05 100.00  54.26  82.31  86.90     10    6.657     5   22.820   29.476
  0.00  77.38   0.00  69.74  82.33  86.90     11    7.703     6   22.820   30.523
  0.00  77.38   0.00  69.74  82.33  86.90     11    7.703     6   22.820   30.523
  0.00  77.38   0.00  69.74  82.33  86.90     11    7.703     6   22.820   30.523

所要時間
BigList 1423ms
BigMap 7962ms
Young世代のGCイベントの数 6回
フルGCイベントの数 2回

ケース3:

-Xms2048m
-Xmx2048m
  S0     S1     E      O      M     CCS    YGC     YGCT    FGC    FGCT     GCT   
  1.77  99.99 100.00  41.90  81.86  86.90     10    5.673     2    7.283   12.955
 18.63  89.52  73.99  60.19  81.86  86.90     12    6.424     2    7.283   13.707
 72.69   0.00   0.00  72.78  81.86  86.90     12    7.221     3    7.283   14.504
 72.69   0.00   0.00  72.78  81.86  86.90     12    7.221     3    7.283   14.504
 72.69   0.00   0.00  72.78  81.86  86.90     12    7.221     3    7.283   14.504
 72.69   0.00   0.00  72.78  81.86  86.90     12    7.221     3    7.283   14.504
  0.00   0.00  42.00  30.51  81.86  86.90     12    7.221     3   11.547   18.768
 30.67  99.99  99.38  45.93  81.86  86.90     14    7.601     3   11.547   19.148
 65.85  70.90 100.00  54.20  81.86  86.90     16    8.423     3   11.547   19.970

所要時間
BigList 782ms
BigMap 6704ms
Young世代のGCイベントの数 6回
フルGCイベントの数 1回

所感

ヒープサイズを変更した場合、
List の生成とデータの取得に関しては、所要時間はほぼ同じ(変化が見られない)だった。
Young世代のGCイベント回数においても同じだった。

Map の生成とデータの取得に関しては、ヒープサイズが大きいほど所要時間に改善(短くなった)が見られた。
フルGCのイベント回数においても改善(より少ない回数)が見られた。