스크립트 힙이 수백 MB로 커지면 한 번에 몰아서 하는 수집(점진적 수집을 끄거나 세대별 모드의 전체 수집)에 수십~수백 ms가 걸리기도 합니다.
그래프에서는
일정 주기로 튐 · 존별 틱 시간, 스크립트 엔진 메모리
확인할 곳
존별 틱 시간과, 그 존 스크립트 엔진의 메모리 사용량(Lua는 collectgarbage("count"))을 틱마다 기록해 한 그래프에 겹쳐 봄
이러면 맞음
스크립트 메모리가 뚝 떨어지는 순간(한 번에 몰아서 수집)과 그 존의 틱 튐이 겹치고, 다른 존은 멀쩡함
이러면 아님
스크립트 메모리 변화 없이 튀면 그 존의 부하나 락. 서버의 모든 존이 동시에 튀면 서버 GC(mem-gc)나 스왑(mem-swap)
확인 수단
게임 서버·클라이언트의 로그·지표가 필요
출처
Lua 5.4 Reference ManualLua.org 점진적 모드는 수집을 작은 단계로 나눠 실행 사이에 끼워 넣고(단계를 크게 잡으면 전체 멈춤), 세대별 모드의 major 수집은 모든 객체를 도는 전체 멈춤, collectgarbage("count")는 Lua가 쓰는 메모리 총량(KB)