리눅스 커널 코어 덤프 분석하기
리눅스 커널 코어 덤프 분석하기
1. 커널 코어 분석 유틸리티 설치하기
yum install –enablerepo=rhel-debuginfo crash kernel-debuginfo
2.커널 코어덤프 파일 분석 시작 하기
crash /usr/lib/debug/lib/modules/<커널 릴리즈 버전>/vmlinux \
/var/crash/xxxx-xx-xx-xx:xx:xx/vmcore
3.커널 메세지 버퍼내용 확인하기
crash > log
4.커널 satck trace 정보 확인하기
crash > bt
5. 프로세서 상태 확인하기
crash > ps
6. virtual memory 정보 확인하기
crash > vm
7. open file 확인하기
crash > files
– crash 명령 소개
bt – Backtrace 명령. 스택의 내용들을 순차적으로 출력해준다.
ps – Process list 출력.
free – Memory 및 스왑 상태 출력.
mount – 마운트 상태 출력
irq – 각 장치의 ( irq ) 상태를 출력.
kmem – 메모리 상태 출력 ( kmalloc, valloc 등 메모리 할당 상태도 보여줌 )
log – dmesg 의 내용을 출력.
mod – 로딩된 모듈 리스트 출력.
net – Network 상태 출력.
runq – 실행중인 task 리스트 출력.
task – 작업목록 출력.
rd – 메모리 번지수에 대한 상세정보 출력.
foreach – 모든 task, process 등 디버깅 정보에 대한 상세한 출력이 가능함.
set – 설정된 주소 및 PID 등을 기본 컨텍스트로 설정.
struct – 구조화된 메모리 내부의 변수들을 출력해 준다.
files – task 가 열고있는 파일디스크립터들을 출력해준다.