← 개발기 목록

경보가 쏟아진 날의 원인

개발기 15편 · 2026-10-16

경보가 쏟아진 날의 시간 순서 그림
그날 경보가 이어진 순서(기록에 남은 시각 그대로).

오후에 카카오톡 알림이 30분 넘게 쏟아졌습니다. 같은 경보가 여러 번 울렸고, 실제로는 문제가 없는데 폰이 재부팅됐다는 경보까지 나왔습니다. 무엇이 잘못됐는지 먼저 찾아야 했습니다.

경보가 울린 시간은 17시 21분부터 17시 54분까지였습니다. 원인은 컴퓨터의 처리 장치가 100%로 꽉 찼던 것입니다. 무거운 계산 작업 두 개가 일반 우선순위로 돌고 있었습니다. 하나는 뇌 맞대기 기록, 하나는 음악 보정이었습니다. 두 작업이 다른 작업을 밀어냈고, 그 바람에 폰으로 메시지를 보내는 데 90초에서 209초까지 걸렸습니다.

폰과 연결이 잠깐 끊기자 감시 프로그램이 폰이 재부팅됐다고 잘못 판단했습니다. 폰의 가동 시간은 17일로 찍혔는데, 실제로 재부팅은 없었습니다. 연결된 다른 경보들도 줄줄이 울렸습니다. 한 가지 문제가 여러 경보로 번진 셈입니다.

조치는 두 가지였습니다. 두 작업의 우선순위를 낮추고, 무거운 작업은 스레드를 2개로 제한하도록 했습니다. 그리고 앞으로 무거운 작업을 돌릴 때는 이 규칙부터 확인하도록 적어 두었습니다. 기억 저장소가 여덟 날 묵은 것도 이때 맞춰 동기화했습니다. 처리 장치가 80%를 넘는 동안 기다리던 검색용 정리 작업 세 건은, 무거운 작업이 끝나면 저절로 이어지도록 그대로 두었습니다.

같은 일이 되풀이되지 않게 고칠 일 두 가지도 수리 목록에 올렸습니다. 하나는 폰 재부팅을 연결 끊김이 아니라 폰의 가동 시간으로 판단하게 하는 것이고, 다른 하나는 같은 경보를 10분씩 묶어 한 통으로 보내는 것입니다. 이 두 가지는 맡겨 두었고, 다 고쳤다는 기록은 아직 없습니다.

경보는 17시 52분에 저절로 회복됐습니다. 폰으로 보내는 쪽은 '바쁨' 상태로 기록됐고, 연결도 잠깐 끊겼습니다. 폰은 재부팅을 하지 않았고, 연결이 돌아온 뒤에는 그대로 다시 쓸 수 있었습니다. 이 일로 얻은 교훈은 간단합니다. 무거운 계산은 낮은 우선순위와 적은 스레드로 돌려야 알림이 밀리지 않는다는 것입니다. 경보가 한 번에 쏟아지면 사람이 원인을 가려내기도 어렵습니다.

다른 글