이 문서에서는 vCPU 소프트 락업을 해결하는 방법을 설명합니다. 조용히 잠김은 가상 머신 (VM) 인스턴스의 vCPU가 20초 넘게 새 작업을 실행할 수 없는 경우에 발생합니다. 대부분의 조용히 종료는 애플리케이션 소프트웨어의 버그로 인해 발생합니다.
조용히 잠김으로 인해 VM이 잠시 응답하지 않거나, VM에 대한 SSH 액세스가 중단되거나, 애플리케이션 시간 초과 또는 페일오버가 트리거될 수 있습니다. 조용히 종료되는 정확한 원인에 따라 조용히 종료되는 VM의 CPU 사용률이 비정상적으로 높거나 낮을 수도 있습니다.
소프트 락업 식별
VM에 조용히 잠김이 발생하는지 확인하려면 다음 중 하나를 실행합니다.
- 이전에 VM에 직렬 포트 출력 로깅을 사용 설정한 경우 직렬 포트 출력을 검토하여 조용히 중단된 스택 트레이스를 확인합니다.
- VM의 운영체제 로그 (
/var/log/messages
)에서 조용히 잠김 스택 트레이스를 검토합니다.
조용히 종료 스택 트레이스 예시
watchdog: BUG: soft lockup - CPU#3 stuck for 22s!
향후 조용히 중단을 감지하려면 다음을 실행합니다.
다음 로그에 대해 로그 기반 알림 정책을 만듭니다.
resource.type="gce_instance" log_id("serialconsole.googleapis.com/serial_port_1_output") textPayload=~"watchdog.*lockup"
소프트 루프 문제 해결
조용히 종료되는 문제가 발생한 것으로 확인되면 다음 문제 해결 단계에 따라 문제를 해결해 보세요.
- OS 버전에 알려진 오류가 있는지 OS 공급업체의 사이트를 확인하세요. 스택 트레이스에서 관련된 특정 함수나 작업을 암시하는 특정 커널 모듈에 대한 참조를 찾을 수 있습니다.
- 부드러운 잠김이 높은 부하 또는 특정 활동과 일치하는 등 주기적으로 반복되는지 확인합니다. 조용히 잠기는 현상이 높은 부하와 관련이 있는 경우 더 큰 VM을 사용하거나 더 많은 VM에 부하를 분할하는 등 워크로드를 재구성해야 할 수 있습니다.
- 조용히 종료되는 문제가 새 소프트웨어 배포 또는 OS 이미지 업데이트와 같은 런타임 환경 변경사항과 관련이 있는지 확인합니다.
- 시스템 이벤트 감사 로그의 감사 로그를 검토하여 조용히 종료될 때 유지보수 이벤트가 발생했는지 평가합니다.
위의 문제 해결 단계로 문제가 해결되지 않으면 지원 케이스를 제출하고 문제 해결 과정에서 수집한 모든 정보를 포함하세요.
조용히 종료되는 문제를 방지하기 위한 권장사항
VM에서 조용히 잠기는 현상이 발생하지 않도록 하려면 다음 권장사항을 구현하는 것이 좋습니다.
- 특정 VM에서 장기적인 소프트 락업이 발생할 경우 장애 조치 기능을 제공할 수 있도록 고가용성 클러스터와 같이 시스템에 적절한 중복 구성요소가 구성되어 있는지 확인합니다. 자세한 내용은 회복력 있는 시스템 설계를 참고하세요.
- 컴퓨팅 집약적인 워크로드의 경우 컴퓨팅 최적화 머신 계열을 사용하는 것이 좋습니다.
- 시뮬레이션된 유지보수 이벤트로 워크로드를 테스트하여 라이브 마이그레이션 (사용 설정된 경우) 중에 워크로드가 어떻게 실행되는지, 특히 부하 테스트에서 어떻게 실행되는지 알아봅니다.
- VM에서 맞춤 Linux 커널 또는 맞춤 모듈을 실행하는 경우 프로덕션 환경에 배포하기 전에 부하가 있는 상태에서 새 변경사항을 테스트합니다. 맞춤 변경사항으로 인해 OS 공급업체의 지원을 받을 수 없는지 확인합니다.
- 운영체제를 최신 상태로 유지합니다. 자세한 내용은 운영체제 세부정보를 참조하세요.