ZGC의 멀티 맵핑 기술은 다른 범위의 가상 메모리를 동일한 물리적 메모리에 매핑하는 것입니다. 이 기술은 하중 장벽의 오버 헤드를 줄임으로써보다 동시 쓰레기 수집 작업을 가능하게하는 데 사용됩니다. 이 기술이 시스템 성능에 어떤 영향을 미치는지에 대한 몇 가지 핵심 사항은 다음과 같습니다.
멀티 맵핑 및 시스템 성능
1. 하중 장벽 오버 헤드 감소 : 다중 매핑은 가비지 수집기가 객체가 특정 상태 (예 : 표시 또는 표시되지 않은)인지 신속하게 결정할 수 있도록함으로써 하중 장벽의 오버 헤드를 줄입니다. 이로 인해 부하 장벽에 필요한 기계 지침의 수가 줄어들어 성능이 향상됩니다.
2. 동시성 증가 : 다중 맵핑을 통해 쓰레기 수집기가 여러 객체를 병렬로 처리 할 수있게함으로써 더 많은 동시 쓰레기 수집 작업을 가능하게합니다. 이것은 쓰레기 수집기의 전체 처리량을 증가시키고 일시 중지 시간을 줄입니다.
3. 메모리 효율 향상 : 멀티 맵핑은 힙에 필요한 메모리의 양을 줄임으로써 메모리 효율을 향상시킬 수 있습니다. 동일한 물리적 메모리가 여러 가상 메모리 범위에 매핑되어 전체 메모리 사용량을 줄일 수 있기 때문입니다.
4. 복잡성 증가 : 다중 맵핑은 쓰레기 수집기에 추가 복잡성을 도입하여 유지 보수 비용과 잠재적 성능 문제를 증가시킬 수 있습니다.
5. Impact on System Resources: Multi-mapping can impact system resources, such as CPU and memory usage. 쓰레기 수집기는 매핑을 관리하고 올바른 객체가 처리되도록하여 CPU 사용을 증가시킬 수 있습니다.
6. 시스템 성능에 미치는 영향 : 다중 매핑은 특히 일시 중지 시간 및 처리량 측면에서 시스템 성능에 큰 영향을 줄 수 있습니다. 쓰레기 수집기는 매핑을 관리하고 올바른 객체가 처리되도록하여 일시 중지 시간을 증가시키고 처리량이 줄어들 수 있습니다.
7. 시스템 안정성에 대한 영향 : 다중 매핑은 특히 매핑이 올바르게 관리되지 않는 경우 시스템 안정성에 영향을 줄 수 있습니다. 이로 인해 메모리 누출 또는 잘못된 객체 참조와 같은 문제가 발생할 수 있습니다.
8. 시스템 확장성에 대한 영향 : 다중 매핑은 특히 매핑이 올바르게 관리되지 않는 경우 시스템 확장 성에 영향을 줄 수 있습니다. 이로 인해 메모리 사용 증가 또는 성능 감소와 같은 문제가 발생할 수 있습니다.
요약하면, ZGC의 다중 매핑 기술은 시스템 성능에 긍정적 인 영향을 미칠 수 있습니다. 부하 장벽 오버 헤드를 줄이고 동시성을 증가시킬 수 있지만 추가 복잡성과 영향 시스템 리소스 및 안정성을 유발할 수도 있습니다.
인용 :[1] https://codeline24.com/java-21-path-to-generational-zgc/
[2] https://openjdk.org/jeps/439
[3] https://www.opsian.com/blog/javas-new-zgc-is-vesy-exciting/
[4] https://dev.java/learn/jvm/tool/garbage-collection/zgc-deepdive/
[5] https://www.diva-portal.org/smash/get/diva2:1466940/fulltext01.pdf