GC 로그(Java -Xlog:gc, Go GODEBUG=gctrace=1)로 분당 GC 횟수를 세고 .NET은 dotnet-counters의 할당량과 GC 횟수(.NET 9 이후 dotnet.gc.heap.total_allocated·dotnet.gc.collections, 8 이하 Allocation Rate·Gen 0 GC Count)를 봄. 동시 접속 수·이벤트 시각과 겹쳐 봄
이러면 맞음
이벤트가 시작되면 할당 속도와 GC 횟수가 인원 증가보다 가파르게 늘고 짧은 멈춤이 잦아짐. 이벤트가 끝나면 원래대로 돌아옴
이러면 아님
GC 횟수는 그대로인데 한 번의 멈춤이 길어지면 살아 있는 데이터가 늘어난 것(mem-gc-thrash, mem-leak)
확인 수단
인프라 도구로 확인(게임 코드 불필요)
출처
Garbage Collector ImplementationOracle Young 영역이 차면 minor GC, 살아남은 객체 일부가 Old 영역으로 옮겨지고 Old가 차면 힙 전체를 수집(minor보다 훨씬 오래 걸림), -Xlog:gc는 GC마다 한 줄씩 기록