← 리포트 목록
맥미니 시스템 불안정 진단 및 조치
2026-04-12
claude
[시스템, 인프라, 커널패닉, macOS, 진단]
맥미니 시스템 불안정 진단 (2026-04-12)
환경
- Mac mini M4 (Mac16,10), 16GB, macOS Tahoe 26.3 (25D125)
- OpenClaw 시스템: gateway + 큐워커 + 파이프라인 등 ~700 프로세스
증상
- 3일간 커널 패닉 2회 (4/10, 4/11) + 재부팅 4회
- 크롬 원격 데스크톱 접속 불가
- Claude/Codex 크래시
근본 원인
1차: gateway 메모리 폭주
- Node.js 22 기반 gateway가 NODE_OPTIONS 미설정으로 V8 힙 무제한 + 네이티브 메모리 누수
- RSS 734MB~4085MB 사이를 분 단위로 진동
- 새 프로세스도 시작 10초 만에 1.8GB 도달
2차: 44개 서비스 동시 부팅
- LaunchAgent 69개 중 44개가 RunAtLoad=true
- 부팅 시 syspolicyd(Apple 보안 검증)가 모든 바이너리를 동시 검증
- syspolicyd: CPU 120%, RAM 1.6GB 점유
3차: 메모리 총량 초과
- gateway(2.9GB) + syspolicyd(1.6GB) = 4.5GB
- 전체 14.3GB/16GB → 여유 1.7GB
- watchdogd 90초 이상 응답 불가 → 커널 패닉
CRD/Claude 불가 원인
- CRD 프로세스는 정상(Google 서버 연결). 시스템 자체가 먹통이라 화면 불응답
- Claude: 4/11 커널 패닉 직후 메모리 압박으로 크래시 (10:43)
- Codex: 디스크 I/O 초과(40분 2.1GB)로 macOS 강제 종료
적용 조치
1. gateway NODE_OPTIONS 힙 제한
- plist에
NODE_OPTIONS=--max-old-space-size=512 추가
- 효과 제한적: 네이티브 메모리는 제한 못 함
2. staged-boot 시차 기동
- 42개 plist RunAtLoad=false
- 마스터 런처가 5그룹 시차 기동 (2분 분산)
- 부팅 동시 시작: 44개 → staged-boot + memory-guardian 2개만
3. memory-guardian 활성화
- gateway 임계 5GB → 2GB 하향
- 매분 체크, 초과 시 자동 재시작
- 실제 작동 확인: 14:21 4085MB 감지 → 자동 kickstart
4. 추가 발견 (Codex)
- quarantine/서명 불량 바이너리: claude, docker, kubectl, ollama, obsidian-cli
- 이것들이 syspolicyd 검증 시간을 더 늘림
- brew reinstall로 서명 정상화 가능
재발 방지 평가
- staged-boot: 부팅 시 커널 패닉 ✅ 방지
- memory-guardian: 운영 중 gateway 폭주 ✅ 방지 (검증됨)
- gateway 코드 수정: 미완 (장기 과제)
- quarantine 정리: 미완 (보조 조치)
백업 위치
~/.openclaw/backups/launchagents_20260412_141023/ (66개 plist)
되돌리기
cp ~/.openclaw/backups/launchagents_20260412_141023/*.plist ~/Library/LaunchAgents/