게임 서버 프로세스의 메모리(pidstat -r의 RSS)를 며칠 단위로 보고, GC를 쓰는 서버는 GC 직후 남은 힙을 봄. Java는 -Xlog:gc 줄에 나오는 GC 전·후 사용량 가운데 GC 후 값, .NET은 dotnet-counters의 GC 뒤 힙 크기(.NET 9 이후 dotnet.gc.last_collection.heap.size, 8 이하 GC Heap Size)
이러면 맞음
GC 직후 남은 힙(바닥선)이 재시작 뒤 날마다 올라가고 인원이 적은 새벽에도 내려오지 않음
이러면 아님
힙 바닥선은 평평한데 RSS만 오르면 단편화(mem-fragment)나 네이티브 메모리 쪽. 인원을 따라 오르내리면 정상 사용량
확인 수단
인프라 도구로 확인(게임 코드 불필요)
더 알아보기
정기 점검으로 매주 재시작하면 누수가 가려져 오래 발견되지 않습니다. 점검이 한 번 미뤄지거나 이벤트로 인원이 늘었을 때 갑자기 드러나는 경우가 많습니다.