Java Garbage Collection

박은빈·2023년 4월 24일
0

자바

목록 보기
19/25

Garbage Collection이란

프로그래밍 언어에서 사용되는 자동 메모리 관리 기술로, 프로그램 내에서 사용되지 않는 객체나 메모리 영역을 자동으로 식별하고 제거하는 과정을 말한다
이 기술을 이용해 메모리를 재사용하거나 운영체제로 반환하여 효율을 높일 수 있다

Stop-the-world

Stop-the-world는 Garbage collection에서 가비지 컬렉터가 움직이는 동안 JVM의 모든 스레드가 일시적으로 중지된다.
이러한 일시적인 중지동안 프로그램의 스레드는 중지되어 어떠한 처리도 발생하지 않는다.
이러함으로 가비지 컬렉터가 실행중인 프로그램에서 방해 받지 않고 안전하고 효율적으로 작업을 수행할 수 있다

하지만 이는 높은 가용성이나 실시간 처리가 필요한 응용 프로그램에서 애플리케이션 성능 문제가 발생할 수 있다.

이러한 성능 문제를 해결하고 완화하기 윟서 JVM은 다양한 조정 옵션을 제공한다
옵션을 사용하면 stop-the-world 일시 중단의 빈도와 지속 시간을 조정하고 영향을 최소화하는 다른 가비지 컬렉션 알고리즘을 선택 할 수 있다

stop-the-world와 garbage collection 조정 옵션

-Xmx -Xms -XX:MaxGCPauseMillis -XX:G1HeapRegionSize -XX:+UseConcMarkSweepGC
-XX:+UseG1GC -XX:ParallelGCThreads 등

ex) java -XX:MaxGCPauseMillis=1000 -jar myApp.jar

Java에서 Garbage Collection

참고 : https://gyoogle.dev/blog/computer-language/Java/Garbage%20Collection.html

profile
안녕하세요

0개의 댓글