커널 패닉이란 무엇입니까?


52

방금 OS 코스를 마쳤습니다. 나는 " 커널 패닉 " 이라는 문구를 많이 들었다 . 설명해 줄 수 있어요

  1. 커널 패닉이란 무엇입니까?
  2. 왜 발생합니까?
  3. 커널 패닉이 발생했음을 어떻게 알 수 있습니까?
  4. 시스템에 어떤 영향을 미칩니 까?
  5. Linux에서만 발생합니까?
  6. 어떻게 방지 할 수 있습니까?

커널 패닉은 Mac에서 발생하는 오류 메시지의 일부입니다. 그것이 "공황 우리가 여기에 걸려있다"라고하면 (
추정

21
OS 과정을하고 있다면 강사들에게 그들이 사용하고있는 용어를 설명하도록 요청하지 않은 이유는 무엇입니까? 당신은 당신의 연구에서 더 많은 것을 얻었을 것입니다.
TRiG

답변:


56

FAQ 당 한 번에 1 개의 질문

  1. 커널 패닉이란 무엇입니까?
    커널이 제대로로드되지 않거나 "기절"하고 제대로 부팅되지 않거나 충돌하는 경우 (맨 아래의 크레딧 편집 참조)

  2. 왜 발생합니까?
    업데이트 된 업데이트, 하드웨어 고장, 지원되지 않는 하드웨어, 드라이브 또는 파티션 고장 또는 누락 (맨 아래의 크레딧 편집 참조)

  3. 커널 패닉이 발생했는지 어떻게 알 수 있습니까?
    부팅 프롬프트 확인 (자동 커널 매개 변수 끄기) 또는 시스템 부팅에 실패

  4. 시스템에 어떤 영향을 미칩니 까?
    부팅 실패 또는 시스템 충돌

  5. Linux에서만 발생합니까?
    아니요, 모든 유닉스 계열 운영 체제는 커널 패닉을 가질 수 있습니다. 그것은 동등한의 죽음의 윈도우 블루 스크린

  6. 어떻게 방지 할 수 있습니까?
    일반적으로 발생하지 않습니다. 업데이트를 테스트하고 문제를 해결하십시오. 개발 지점 대신 안정을 사용하십시오.

추가 참고 : 커널 패닉 및 시스템 오류 / 종료는 컴퓨터를 물리적 손상으로부터 보호하는 직접적인 책임이 있습니다. 예를 들어 과열 또는 디스크 손상 전에 정지가 포함됩니다. 직접 견적은 하단의 크레딧 편집을 참조하십시오.

편집

B. Roland 당 디스크 또는 볼륨이 없거나 손상된 경우에도이 문제가 발생할 수 있습니다.
(좋은 지적과 간과)

Per Kees Kernel panic은 달리는 동안 발생할 수 있습니다.
참고 : 커널 내부에서 함수가 정상적으로 작동하지 않는 경우에 발생할 수 있지만 대부분 모듈 또는 커널로드 중 (보통 부팅 중) 발생합니다. 나는 "부팅 또는 시스템 충돌 중"에서이를 만졌다 고 생각했지만 (1)에 대한 나의 대답이 부팅 중에 만 발생한다고 언급 한 것을 본다.

당은 rafalcieslak 직접 견적을 - '추가해야 하나 개 매우 중요한 것은이있다 : 전체 커널 패닉의 주요 포인트는 컴퓨터를 보호하는 것입니다가. 커널은 무언가를 수행하지 못했을뿐 아니라 컴퓨터의 과열, 하드 드라이브 손상 및 기타 하드웨어 문제 (예 : 잘못된 순서로 실행 된 경우)를 방지하기 위해 중지됩니다. 예를 들어 팬 제어를 담당하는 모듈)을로드하지 못했습니다. 이것이 커널이 문제를 극복하는 것보다 정지하기를 선호하는 이유입니다. '


3
q # 2에 추가 : 누락 된 부팅 파일 (예 : LVM 볼륨이 누락 된 경우)
antivirtel

@비. Roland 추가 및 적립
RobotHumans

좋은, 감사 - 한번 (내가 accidentaly LVM에서 볼륨 ... 포맷) ... 나와 함께 발생하기 때문에 나는 그것을 썼다
antivirtel

8
이 답변은 정확하지 않습니다. 커널 패닉은 부팅 실패에만 국한되지 않습니다. JanC의 답변이 더 정확합니다 ( "커널이 복구 할 수없는 오류를 감지합니다"). 부팅 불능은 여러 조건 중 하나 일뿐입니다.
Kees Cook

2
추가해야 할 중요한 사항이 하나 있습니다. 전체 커널 패닉의 주요 요점은 컴퓨터를 보호하는 것입니다. 커널은 무언가를 수행하지 못했을뿐 아니라 컴퓨터의 과열, 하드 드라이브 손상 및 기타 하드웨어 문제 (예 : 잘못된 순서로 실행 된 경우)를 방지하기 위해 중지됩니다. 예를 들어 팬 제어를 담당하는 모듈)을로드하지 못했습니다.이 때문에 커널은 문제를 극복하기보다 동결을 선호합니다.
Rafał Cieślak

31

커널 패닉은 커널이 복구 할 수없는 오류를 감지 할 때 발생합니다. panic()이 상황을 처리하기 위해 이름 이 지정된 함수 (종종 디버그 정보 덤프 및 / 또는 시스템 재부팅)는 초기 UNIX 버전 중 하나에서 처음 소개되었으므로 이름이 유래 된 곳입니다 (대부분의 UNIX에서 여전히 호출됩니다). Mac OS X을 포함한 운영 체제와 같은).

Microsoft의 NT 커널에서 유명한 Blue Screen Of Death (공식적 으로 VMS / OpenVMS에서와 같이 치명적인 시스템 오류 라고 함 )는 "커널 패닉"의 한 형태입니다.

커널 (일부 또는 일시적으로) 복구 할 수 있는 Linux 커널 오류를 커널 oops 라고합니다 ( dmesg때때로 출력되는 오류를 볼 수 있음).

커널 패닉의 원인은 커널의 버그 (예 : 커널의 일부인 드라이버) 또는 예상치 못한 / 예측할 ​​수없는 커널 상태의 원인이되는 하드웨어 또는 소프트웨어 문제 일 수 있습니다 (예 : init처리하거나 사망).

원인을 확인하려면 화면 또는 직렬 콘솔 (구성된 경우)에 인쇄 된 것이 있는지 확인할 수 있습니다. 만약 그렇게하도록 설정되어 있다면, 시스템이 리눅스 커널 크래시 덤프 를 만들어 커널 패닉이 발생할 경우 커널 메모리를 디스크에 저장하여 커널 개발자가 분석 할 수 있도록 할 수 있습니다. 디스크에 쓸 수 있음). 경우에 따라 /var/log/messages유용한 정보가 있는 경우 도 있습니다 (예를 들어, oops에서 복구하면 나중에 복구 할 수없는 오류가 발생할 수 있음). 여기에 더 자세한 정보가 있습니다 .


1

우분투 16.04 시스템에 커널 패닉이 있습니다. 내 컴퓨터가 부팅 디스크가 가득 찼다 고 불평했기 때문에 'apt autoremove'를 실행했습니다. 불필요한 파일이라고 생각한 것을 제거했으며 그 결과 커널 패닉이 발생했습니다.

부팅 디스크를 편집 할 때 커널 패닉이 발생할 수 있습니다. 당신이하고있는 일에주의를 기울이지 않는다면 그것에 속지 마십시오.


이것은 OP의 질문을 해결하는 데 도움이되지 않습니다. :(
Mike Williamson

1

@RobotHumans의 답변은 질문의 모든 부분을 다룹니다. 그러나 Kernel Panic의 원인을 자세히 설명하고 싶습니다.

먼저, Kernel Panic-Soft Kernel Panic (Oops라고도 함)과 (Hard Kernel Panics, Aieee!)의 두 가지 유형이 있습니다.

처리 할 수없는 예외가 발생하면 시스템이 하드 커널 패닉 모드로 실행됩니다. 소프트 커널 패닉은 상대적으로 다루기가 더 쉽습니다.

커널 패닉의 원인

몇 가지 원인이 있지만 가장 일반적인 원인은 다음과 같습니다.

  • 커널 패닉의 가장 흔하고 빈번한 원인은 결함 또는 호환되지 않는 RAM 입니다.
  • 더 이상 사용되지 않거나 호환되지 않거나 손상된 커널 확장
  • 오래되었거나, 호환되지 않거나 손상된 커널 드라이버.
  • 하드 디스크 손상 또는 불량 섹터 또는 디렉토리 손상과 같은 문제도 커널 패닉으로 이어질 수 있습니다.
  • RAM 또는 하드 디스크 공간이 부족합니다
  • 하드웨어 결함, 잘못 작성된 프로그램 또는 하드웨어 오류도 커널 패닉으로 이어질 수 있습니다.

커널 공간 내에있는 모듈 만 커널 패닉을 일으킬 수 있다는 점에 유의해야합니다. lsmod동적으로로드 된 모듈 목록을 얻기 위해 명령을 실행할 수 있습니다.

커널 패닉 문제를 해결하려면 / var / log / messages를 확인하십시오. 때때로 모든 정보가 거기에 기록 될 수 있고 때로는 커널 패닉과 관련된 어떤 것도 기록되지 않을 수 있습니다. 커널 패닉에 빠지는 것은 불가피하지만 걱정할 것은 없습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.