이번 장에서는 GC별로 벤치마크 결과 데이터를 정리한다.
용어에 대한 자세한 설명은 다루지 않는다.
분석에 필요한 대부분의 용어는 [JVM] GC 벤치마크 분석 포인트 (링크)에 적어두었다.
Serial GC
- Instance: m5.xlarge (vCPU: 4, Memory: 16 gb)
- Allocated Heap: 4.94 gb (JVM에서 자동으로 설정한 값)
- Request Throughput: 0.51 Transactions/Seconds
- Total Request Count: 1,828
- Error Count (Ratio): 75 (4.10%)
- Average CPU Usage: 1.0% (User), 0.1% (System)
- Core-1: 0.9% (User), 0.1% (System)
- Core-2: 1.3% (User), 0.1% (System)
- Core-3: 1.1% (User), 0.1% (System)
- Core-4: 0.7% (User), 0.1% (System)
- Max CPU Usage (최대치 5개의 평균): 10.72% (User)
- Average Active Memory Usage (about): 1,270 mb
- Cached (about): 3,700 mb
- Buffers (about): 0 mb
- Inactive (about): 3,245 mb
- Active (about): 1,270 mb
- Process Switch Per Second (최대치 5개의 평균): 1,575
- Peak Usage: 206 mb
- Young Generation: 69 mb
- Old Generation: 44 mb
- Meta Space: 93 mb
- GC Throughput: 99.385%
- Max Pause GC Time: 2 sec 308 ms
- Total GC Count: 380
- Average Pause GC Time: 64.1 ms
- Full GC Count: 4
- Average Full GC Time: 677.5 ms
- Minor GC Count: 376
- Average Minor GC Time: 57.53 ms
- GC Duration Time Range:
- 0 ~ 1,000 ms: 97.63% (371)
- 1,000 ~ 2,000 ms: 0.79% (3)
- 2,000 ~ 3,000 ms: 1.58% (6)
Parallel GC
- Instance: m5.xlarge (vCPU: 4, Memory: 16 gb)
- Allocated Heap: 4.93 gb (JVM에서 자동으로 설정한 값)
- Request Throughput: 0.51 Transactions/Seconds
- Total Request Count: 1,827
- Error Count (Ratio): 79 (4.32%)
- Average CPU Usage: 1.15% (User), 0.125% (System)
- Core-1: 0.8% (User), 0.1% (System)
- Core-2: 0.9% (User), 0.1% (System)
- Core-3: 1.9% (User), 0.2% (System)
- Core-4: 1.0% (User), 0.1% (System)
- Max CPU Usage (최대치 5개의 평균): 6.12% (User)
- Average Active Memory Usage (about): 2,168 mb
- Cached (about): 1,491 mb
- Buffers (about): 0 mb
- Inactive (about): 1,026 mb
- Active (about): 1,270 mb
- Process Switch Per Second (최대치 5개의 평균): 1,488
- Peak Usage: 1.22 gb
- Young Generation: 1.05 gb
- Old Generation: 104 mb
- Meta Space: 92.83 mb
- GC Throughput: 99.976%
- Max Pause GC Time: 160 ms
- Total GC Count: 50
- Average Pause GC Time: 21.6 ms
- Full GC Count: 4
- Average Full GC Time: 92.5 ms
- Minor GC Count: 46
- Average Minor GC Time: 15.43 ms
- GC Duration Time Range:
- 0 ~ 100 ms: 96.0% (48)
- 1,000 ~ 2,000 ms: 4.0% (2)
Parallel Old GC
- Instance: m5.xlarge (vCPU: 4, Memory: 16 gb)
- Allocated Heap: 4.93 gb (JVM에서 자동으로 설정한 값)
- Request Throughput: 0.51 Transactions/Seconds
- Total Request Count: 1,831
- Error Count (Ratio): 70 (3.82%)
- Average CPU Usage: 1.15% (User), 0.125% (System)
- Core-1: 1.3% (User), 0.1% (System)
- Core-2: 2.0% (User), 0.2% (System)
- Core-3: 1.5% (User), 0.1% (System)
- Core-4: 1.7% (User), 0.2% (System)
- Max CPU Usage (최대치 5개의 평균): 5.26%
- Average Active Memory Usage (about): 2,319 mb
- Cached (about): 1,593 mb
- Buffers (about): 0 mb
- Inactive (about): 1,139 mb
- Active (about): 2,319 mb
- Process Switch Per Second (최대치 5개의 평균): 1,829
- Peak Usage: 1.37 gb
- Young Generation: 1.18 gb
- Old Generation: 122 mb
- Meta Space: 92.85 mb
- GC Throughput: 99.969%
- Max Pause GC Time: 190 ms
- Total GC Count: 50
- Average Pause GC Time: 21.6 ms
- Full GC Count: 4
- Average Full GC Time: 100 ms
- Minor GC Count: 46
- Average Minor GC Time: 15.65 ms
- GC Duration Time Range:
- 0 ~ 100 ms: 96.0% (48)
- 1,000 ~ 2,000 ms: 4.0% (2)
CMS
- Instance: m5.xlarge (vCPU: 4, Memory: 16 gb)
- Allocated Heap: 3.84 gb (JVM에서 자동으로 설정한 값)
- Request Throughput: 0.51 Transactions/Seconds
- Total Request Count: 1,831
- Error Count (Ratio): 92 (5.02%)
- Average CPU Usage: 1.45% (User), 0.125% (System)
- Core-1: 1.2% (User), 0.1% (System)
- Core-2: 1.2% (User), 0.1% (System)
- Core-3: 1.3% (User), 0.1% (System)
- Core-4: 2.1% (User), 0.2% (System)
- Max CPU Usage (최대치 5개의 평균): 9.58% (User)
- Average Active Memory Usage (about): 1,407 mb
- Cached (about): 1,415 mb
- Buffers (about): 0 mb
- Inactive (about): 960 mb
- Active (about): 1,407 mb
- Process Switch Per Second (최대치 5개의 평균): 1,733
- Peak Usage: 335.73 mb
- Young Generation: 74.38 mb
- Old Generation: 268.05 mb
- GC Throughput: 99.902%
- Pause GC Total Time: 4 sec 10 ms
- Pause GC Max Time: 70 ms
- Pause GC Average Time: 9.13 ms
- Concurrent GC Total Time: 45 sec 260 ms
- Concurrent GC Max Time: 5 sec 100ms
- Concurrent GC Average Time: 696 ms
- GC Duration Time Range:
- 0 ~ 10 ms: 82.69% (363)
- 10 ~ 20 ms: 10.93% (48)
- 20 ~ 30 ms: 3.42% (15)
- 30 ~ 40 ms: 0.46% (2)
- 50 ~ 60 ms: 0.68% (3)
- 60 ~ 70 ms: 1.37% (6)
- 70 ~ 80 ms: 0.46% (2)
G1GC
- Instance: m5.xlarge (vCPU: 4, Memory: 16 gb)
- Allocated Heap: 3.85 gb (JVM에서 자동으로 설정한 값)
- Request Throughput: 0.51 Transactions/Seconds
- Total Request Count: 1,827
- Error Count (Ratio): 87 (4.76%)
- Average CPU Usage: 5.925% (User), 0.375% (System)
- Core-1: 6.1% (User), 0.4% (System)
- Core-2: 5.6% (User), 0.4% (System)
- Core-3: 5.6% (User), 0.3% (System)
- Core-4: 6.3% (User), 0.4% (System)
- Max CPU Usage (최대치 5개의 평균): 52.1% (User)
- Average Active Memory Usage (about): 5,050 mb
- Cached (about): 10,225 mb
- Buffers (about): 0 mb
- Inactive (about): 10,000 mb
- Active (about): 5,050 mb
- Process Switch Per Second (최대치 5개의 평균): 20,694
- Peak Usage: 3.04 gb
- GC Throughput: 98.924%
- Pause GC Total Time: 37 sec 299 ms
- Pause GC Max Time: 375 ms
- Pause GC Average Time: 58.1 ms
- Concurrent GC Total Time: 5 min 8 sec 227 ms
- Concurrent GC Max Time: 52 sec 175ms
- Concurrent GC Average Time: 5 sec 224 ms
- GC Duration Time Range:
- 0 ~ 100 ms: 76.01% (488)
- 100 ~ 200 ms: 20.56% (132)
- 200 ~ 300 ms: 2.96% (19)
- 300 ~ 400 ms: 0.47% (3)
ZGC
ZGC의 경우 추출된 데이터가 많지않다. 다른 GC와 다르게 추출되지 않은 데이터는 null로 표기하였다.
실제로 사용하기 위한 분석이 아닌 앞으로 이런 GC가 상용화 되겠구나정도로 살펴보도록 한다.
- Instance: m5.xlarge (vCPU: 4, Memory: 16 gb)
- Allocated Heap: null gb
- Request Throughput: 0.51 Transactions/Seconds
- Total Request Count: 1,828
- Error Count (Ratio): 87 (4.76%)
- Average CPU Usage: 6.55% (User), 0.45% (System)
- Core-1: 6.6% (User), 0.4% (System)
- Core-2: 7.0% (User), 0.5% (System)
- Core-3: 6.6% (User), 0.5% (System)
- Core-4: 6.0% (User), 0.4% (System)
- Max CPU Usage (최대치 5개의 평균): 57.52% (User)
- Average Active Memory Usage (about): 3,950 mb
- Cached (about): 6,981 mb
- Buffers (about): 0 mb
- Inactive (about): 4,050 mb
- Active (about): 3,950 mb
- Process Switch Per Second (최고점 5개의 평균): 14,999
- Peak Usage: 3.99 gb
- GC Throughput: null
- Pause GC Total Time: null
- Pause GC Max Time: null
- Pause GC Average Time: null
- Concurrent GC Total Time: null
- Concurrent GC Max Time: null
- Concurrent GC Average Time: null
- GC Duration Time Range: null
'Java > JVM' 카테고리의 다른 글
[JVM] Stack & Frame (0) | 2022.02.28 |
---|---|
[JVM] GC 벤치마크 결과 (0) | 2022.01.23 |
[JVM] GC 벤치마크 분석 포인트 (0) | 2022.01.23 |
[JVM] GC 벤치마크 개요 (0) | 2021.12.23 |
[JVM] GC 알고리즘 종류 (0) | 2021.12.02 |