CRASH(8)

명칭
crash - FreeBSD 시스템 장해

해설
이 섹션에서는 시스템 크래쉬에 대해 조금 설명해, 크래쉬 덤프의 해석 방법에 대해서도 ( 꽤 간결합니다만) 말합니다.

시스템이 스스로 크래쉬 하려면 ,

panic: 왜 죽었는가

그렇다고 하는 형식에서 콘솔에 메세지를 표시해, 만약 덤프가 유효하게 되어 있으면 ( dumpon(8) 참조) 대용량 기억장치에 덤프를 취해, 그리고 reboot(8) 에 진술되고 있도록(듯이) 자동 리부트 순서를 개시합니다. 하드웨어 혹은 소프트웨어의 장해에 의해 파일 시스템 상태에 예기치 못한 모순점이 발견되었을 경우를 제외해, 시스템은 multiuser 모드에서의 오퍼레이션을 재개합니다.

시스템은 수많은 내부 일관성 체크를 실시하고 있습니다. 그러한 체크 중 하나에 걸리면(자), 어느 체크에 걸렸는지를 나타내는 간결한 메세지를 표시해 패닉 합니다. 많은 경우, 이 메세지는 에러를 검지한 routine명, 혹은 발견된 일관성 에러를 기술하는 2 어의 프레이즈입니다. 대부분의 패닉 메세지를 완전하게 이해하려면 , 시스템의 원시 코드를 숙독할 필요가 있습니다.

시스템 장해에 공통되는 대부분의 원인은 하드웨어 장해이며, 그것은 여러가지 곳에 나타납니다. 여기에서는 발생할 가능성의 높은 메세지와 원인에 관한 실마리를 나타냅니다. 하드웨어 혹은 소프트웨어가 예기치 못한 모습으로 그러한 메세지를 출력할 가능성에 대해서는, 전혀 말하고 있지 않습니다.

cannot mount root 이 패닉 메세지는, bootstrap 처리중에 루트 파일 시스템을 mount 할 수 없었던 경우에 표시됩니다. 루트 파일 시스템이 망가져 있는지, 시스템이 잘못한 디바이스를 루트 파일 시스템으로서 사용하려 하고 있습니다. 통상, 시스템 바이너리의 다른 카피인가 다른 루트 파일 시스템을 이용해 시스템을 시작해 조사합니다. 잘 행해지는 것은, 시스템을 인스톨 한 부트 플로피로 부트 해, 다음에 “fixit” 플로피를 사용하는 것입니다.

init: not found 이것은 패닉 메세지가 아니고, 리부트해도 쓸데없겠지요. bootstrap 처리의 마지막 단계에서, 시스템이 초기화 프로세스 init(8) 의 장소를 찾아 그것을 실행하는데 실패했습니다. 루트 파일 시스템이 부정 혹은 망가져 있는, /sbin/init 하지만 실행 불능 모드 혹은 타입이 되어 있는, 혹은 /sbin/init 자체가 없어져 있습니다.

ffs_realloccg: bad optim
ffs_valloc: dup alloc
ffs_alloccgblk: cyl groups corrupted
ffs_alloccg: map corrupted
blkfree: freeing free block
blkfree: freeing free frag
ifree: freeing free inode 이러한 패닉 메세지는 파일 시스템내에 모순점이 발견되었을 때에 출력되는 것입니다. 통상, 이 문제의 원인은, 크래쉬 후의 파손한 파일 시스템의 수복 실패, 하드웨어 장해, 혹은 통상 발생하지 않는 다른 조건에 있습니다. 파일 시스템의 체크를 실시하면, 통상, 문제는 해결합니다.

timeout table full 실은 이것은 패닉이 아닙니다만, 관계하는 데이터 구조의 확장을 실시하기 전에, 엔트리가 부족하기 위해서 크래쉬 했습니다. 이 현상이 발생하면(자), timeout table 를 크게 해 주세요.

init died (signal #, exit #) 시스템 초기화 프로세스가, 나타났던 대로의 시그널 및 종료 코드로 종료해 버렸습니다. 이것은 좋지 않는 통지입니다. 이제 아무도 로그인할 수 없습니다. 리부트할 수 밖에 손은 없고, 따라서 시스템은 즉시 리부트합니다.

이상이 조우할 가능성이 있는 패닉의 종류 일람입니다.

크래쉬 덤프를 취하도록(듯이) 시스템이 설정되어 있는 경우 ( dumpon(8) 참조), 시스템이 크래쉬 하면(자) 덤프 디바이스 (통상은 1 개째의 스왑 area와 같다)의 마지막에 메모리 이미지를 기입합니다 (적어도 기입하려고 합니다). 시스템이 리부트한 후, 프로그램 savecore(8) 하지만 기동해, 후의 해석을 위해서(때문에), 이 core image와 현재의 시스템의 카피를 특정 디렉토리에 보존합니다. 자세한 것은 savecore(8) (을)를 참조해 주세요.

덤프를 해석하려면 , 시스템의 로드 이미지와 코어덤프에 대해서 gdb(1) (을)를 -k 옵션 첨부로 기동합니다. core image가 패닉에 의해 생성된 것이라면, 그 패닉 메세지가 표시됩니다. 보다 자세한 정보는, (http://www.FreeBSD.org/) 의 카네르데밧깅의 장을 참조해 주세요.

관련 항목
gdb(1), dumpon(8), reboot(8), savecore(8)

역사
crash 메뉴얼 페이지는 FreeBSD 2.2 그리고 등장했습니다.