게임 렉 백서 › L9 서버 게임 프로세스
서버 크래시 Server process crash
원인 ID sp-crash · 주 담당 게임개발팀·서버 개발 · 함께 인프라팀·서버 인프라
그림과 실험이 있는 원본 카드로 열기 →
처리하지 못한 오류로 서버 프로세스가 죽으면, 그 서버에 있던 모두의 접속이 동시에 끊깁니다.
왜 없는 대상을 가리키는 오류(널 참조), 잘못된 데이터, 메모리 부족 등 치명적 오류 → 그러면 서버(또는 존) 프로세스 종료 → 화면에서는 모두 동시에 접속 끊김, 마지막 저장 이후 진행은 롤백될 수 있음
- 증상
- 접속 끊김, 씹힘·롤백
- 요인
- 정체
- 누가 겪나
- 특정 장소·채널, 서버 전체
- 언제
- 가끔 무작위로, 특정 행동을 할 때
- 담당
- 주 담당 게임개발팀·서버 개발 · 함께 인프라팀·서버 인프라
- 게임개발팀 할 일
- 크래시 덤프 분석으로 원인 수정, 자주 저장.
- 인프라팀 할 일
- 프로세스 자동 재시작, 크래시 덤프 수집·보관 환경, 서버 다운 즉시 경보.
- 그래프에서는
- 연결이 한꺼번에 끊김 · 접속 수, 프로세스 재시작 횟수
- 확인할 곳
- coredumpctl list의 코어 덤프 기록(시각, PID, 종료 신호)과 서비스 관리자(systemd)의 비정상 종료·재시작 기록. 윈도우 서버는 WER이 남긴 덤프 파일
- 이러면 맞음
- 접속 수가 한순간 0 가까이 떨어진 시각에 게임 서버 프로세스의 비정상 종료와 코어 덤프가 있음
- 이러면 아님
- 프로세스는 계속 살아 있는데 접속이 끊겼으면 네트워크 장비·유휴 타임아웃 쪽. 오래 멈춘 뒤 워치독이 재시작한 기록이면 무한 루프·데드락 쪽
- 확인 수단
- 인프라 도구로 확인(게임 코드 불필요)
출처
- Collecting User-Mode Dumps Microsoft
윈도우 오류 보고(WER)로 사용자 모드 프로그램이 크래시할 때 전체·미니 덤프를 로컬에 모으도록 설정 - systemd.service(5) — Linux manual page systemd
Restart=on-failure는 비정상 종료·신호 종료(코어 덤프 포함)·워치독 시간 초과 때 서비스를 자동 재시작, 오래 도는 서비스에 권장 - coredumpctl(1) — Linux manual page systemd
systemd-coredump가 저장한 코어 덤프를 list로 조회, 크래시 시각·PID·크래시를 일으킨 신호 표시
함께 보면 좋은 원인
같은 층: L9 서버 게임 프로세스
같은 증상(접속 끊김)의 다른 층 원인
그림과 실험이 있는 원본 카드 보기