여기서는 멈추세요
- 명령 출력의 서버·서비스·경로가 예상 대상과 다르면 변경 단계로 넘어가지 않습니다.
- 현재 접속 세션, 백업 또는 콘솔 복구 경로를 확보하지 못했다면 상태 변경 명령을 실행하지 않습니다.
PERFORMANCE
SAFE OPERATING BOUNDARY
변경 전 설정과 출력값을 기록하고, 예상과 다른 결과가 나오면 추가 변경을 멈춘 뒤 승인된 운영 복구 절차로 되돌립니다.
BEFORE YOU START
CHECK THE BRANCH
전체 CPU 백분율이 낮아 보여도 단일 스레드 프로세스가 한 코어를 모두 사용할 수 있으므로 스레드 단위 사용률을 확인합니다.
load average는 CPU 사용률 자체가 아닙니다. vmstat의 wa와 /proc/pressure/io를 함께 확인해 I/O 대기와 구분합니다.
vmstat의 st 값이 높으면 게스트 내부 프로세스보다 하이퍼바이저 CPU 경합 가능성을 별도로 검토합니다.
FOLLOW THE FLOW
순간 피크인지 장시간 누적인지 먼저 구분합니다.
uptimetop -o %CPUload average를 CPU 코어 수와 함께 보고, top의 us·sy·wa 값을 구분합니다.
wa가 높으면 CPU가 아니라 디스크 I/O 문제일 수 있습니다.
PID, 사용자, 실행 시간을 함께 확인합니다.
ps -eo pid,ppid,user,%cpu,%mem,stat,etime,comm --sort=-%cpu | head -20짧게 끝나는 정상 배치인지 계속 유지되는 프로세스인지 봅니다.
PID와 서비스 이름을 기록합니다.
SERVICE_NAME을 실제 unit 이름으로 바꿉니다.
systemctl status SERVICE_NAME --no-pager -ljournalctl -u SERVICE_NAME --since '-15 min' --no-pager반복 오류, 무한 재시도, 요청 폭증 흔적을 찾습니다.
원인이 외부 트래픽인지 애플리케이션 내부인지 분리합니다.
kill -9부터 실행하지 않습니다. 자식 프로세스와 연결 상태를 먼저 확인합니다.
ps -ef --forest | lesssudo ss -s정상 종료가 가능한 서비스라면 systemd를 통해 제어합니다.
장애 전파와 재기동 시간을 확인한 뒤 변경 단계로 이동합니다.
SERVICE_NAME이 정확한지 재확인하고 이중화·점검 시간을 고려합니다.
sudo systemctl restart SERVICE_NAMEsystemctl is-active SERVICE_NAME && uptimeactive 상태와 load average 하락, 응답 시간 회복을 함께 확인합니다.
재발하면 프로파일링과 요청량·배치 주기 분석이 필요합니다.
PRIMARY REFERENCES
배포판과 버전에 따라 옵션·로그 위치가 다를 수 있습니다. 실행 전 서버의 --help와 로컬 매뉴얼을 함께 확인하세요.