Dev./java

[Java] 현재 사용 중인 GC 보기

인쥭 2021. 7. 19. 15:19
반응형

참고

 

java 8 default gc

오늘 java8 default gc에 대해서 검색을 해도 공식 문서에서는 잘 검색이 안된다. stackoverflow에 default가 parallelGC라고 하는 글들이 있어서 직접 실행해보았다. 우선 sdkman으로 최신 java를 설치한다. sdk..

shuiky.tistory.com

[~] jps
[~] # jps로부터 현재 실행 중인 Java의 pid 확인
[~] # 또는 그냥 jcmd 입력
[~] jcmd [jpid입력] VM.flags
-XX:-BytecodeVerificationLocal -XX:-BytecodeVerificationRemote 
-XX:CICompilerCount=4 -XX:InitialHeapSize=268435456 
-XX:+ManagementServer -XX:MaxHeapSize=4294967296 
-XX:MaxNewSize=1431306240 -XX:MinHeapDeltaBytes=524288 
-XX:NewSize=89128960 -XX:OldSize=179306496 
-XX:TieredStopAtLevel=1 -XX:+UseCompressedClassPointers 
-XX:+UseCompressedOops -XX:+UseFastUnorderedTimeStamps 
-XX:+UseParallelGC
[~] # 실제로는 개행이 되어 있지 않음. 가독성을 위해 개행하였다!
  • jps: 현재 실행 중인 Java App.들의 pid를 목록화해준다.
  • jcmd: 그냥 jcmd만 쳐도 현재 실행 중인 Java App.들의 목록을 확인할 수 있다.
    • 여기에 더해 PID를 입력하고, VM.flag의 정보를 확인할 수 있다.
  • java 8의 default gc가 ParallelGC이므로 저렇게 표시되는 듯. 반면 11은 G1GC라고 함!