[스크랩] Crash Dump & Core File
Posted 2009. 1. 23. 17:37출처: http://blog.naver.com/tangamjaelt?Redirect=Log&logNo=43605204
###################################################################################################
# source site : blog.naver.com/tangamjaelt
# master : 강용운
# email : tangamjaelt@korea.com
# last release : 2007.10.29
###################################################################################################
crash dump : 시스템에 치명적인 오류가 발생하였을 경우 생성
core file : 각각의 프로세스에 오류가 발생하였을 경우 생성
1. crash dump
- OS에 치명적인 에러가 발생하게 되면, OS는 콘솔에 해당 메시지를 보여주며, 메모리에 있는 내용을 미리 지정한 dump device 에 crash dump를 생성하고 reboot 한다.
- dump device 는 local disk 의 swap 파티션이다.
- dump contents 는 메모리에 있는 kernel memory page 로 구성된다.
- Solaris kernel 이 데이터 무결성에 대한 문제나, H/W fault 를 만나게 되면 panic 루틴이 수행된다.
- System panic 은 메모리 정보를 dump device 에 복사하는 이벤트이다.
- crash dump 를 통해 치명적 에러에 대한 원인을 분석할 수 있다.
- dumpadm 명령을 사용하여 dump device를 구성한다.
- dump 시 savecore 명령이 부팅할동안 자동 실행된다.
- savecore 명령은 dump device 로부터 crash dump 를 다시 가져오는 역할을 하며, 가져온 crash dump 를 파일시스템에 쓴다.
- savecore 명령은
- /var/crash/hostname/vmcore.X(덤프식별번호) 파일에 kernel core 정보를 둔다.
- /var/crash/hostnmae/unix.X 파일에 namelist 와 symbol table 정보를 둔다.
- crash dump 디렉토리 내에 bounds 파일이 생성된다.
- bounds 파일은 다음에 저장될 dump의 앞번호를 가지고 있다.
- dumpadm 명령을 통해 dump device를 설정하고, savecore 의 디렉토리 위치를 설정한다.
dumpadm - configure operating system crash dump
# dumpadm
- Savecore enabled: yes 는 부팅 시 자동으로 savecore 명령이 구동되게 하는 설정이다.
# cat /etc/dumpadm.conf
- dumpadm 설정 파일이나 직정 수정하지 않고, dumpadm 명령을 사용하여 변경하도록 한다.
dumpadm 옵션
-y : yes. 부팅 시 savecore 명령 실행.
-n : no. 부팅 시 savecore 명령 실행 안함.
-u : update. kernel의 dump 구성을 강제적으로 /etc/dumpadm.conf 파일을 내용으로 업데이트.
-d : dump-device. 절대경로 또는 swap.
-c : contents-type. kernel, all, curproc 중 하나 선택 (curproc = kernel memory page + 현재 실행중인 프로세스의 memory page)
-r : root-dir. 기본적으로 (/)로 지정됨.
-s : savecore-dir. savecore 명령 실행 시 생성되는 파일의 디렉토리 지정. 기본적으로 /var/crash/hostname
-m : 현재 savecore-dir 에 minfree 파일을 생성.
2. core file
- 프로세스가 비정상적으로 종료되었을 경우 core 파일이 생성된다.
- core 파일은 프로세스에 문제가 생길 당시에 프로세스에 할당된 메모리의 snapshot 이다. (RAM → Disk)
- core 파일은 프로세스의 문제점을 분석을 하는데 사용한다.
- coreadm 명령을 사용하여 core파일의 위치와 이름을 설정한다.
core 파일의 종류
- global core file : mode 600 으로 생성되고, superuser 가 소유한다.
- per-process core file : mode 600 으로 생성되고, 프로세스 구동 user 가 소유한다.
coreadm - core file administration
# coreadm
global core file pattern : /var/core/core.%f.%p.%u (global core 파일의 생성 위치 및 core 파일의 생성 이름 설정)
init core file pattern : core (프로세스 별로 사용하게 될 core 파일의 이름 설정)
global core dumps : disabled (global core 파일 생성 안함)
per-process core dumps : enabled (per-process core 파일 생성함)
global setid core dumps : disabled (setUID, setGID 권한으로 실행 된 프로세스에 대한 global core 파일 생성 안함)
per-process setid core dumps : disabled (setUID, setGID 권한으로 실행 된 프로세스에 대한 per-process core 파일 생성 안함)
global core dump logging : disabled (로그 안남김)
# /etc/coreadm.conf
- 직접 수정하지 말고 coreadm 명령을 사용함.
- coreadm 실행 시 나타내는 항목과 같음.
coreadm 옵션
-i 패턴 : core 파일의 경로와 이름 설정 -e 옵션 : enabled. 옵션은 global, process, global-setid, proc-setid, log 중 하나.
-d 옵션 : disabled.
-u : /etc/coreadm.conf 파일을 강제로 업데이트.
-g 패턴 : global core 파일의 경로와 이름 설정
-p 패턴 : per-process core 파일의 경로와 이름 설정
패턴 옵션
%p : PID
%u : effective UID
%g : effective GID
%f : 실행 파일 이름
%n : hostname (uname -n)
%m : machine name (uname -m)
%t : 시간
%% : 문자열
# coreadm -e process enable
# coreadm -g /var/core/core.%f.%p -e global
# coreadm -p $HOME/corefiles/%n.%f.%p $$ -e process ($$는 현재 PID)
# coreadm 278 3483 (특정 PID를 가지는 프로세스에 대한 core file 구성 체크)
# cat /etc/coreadm.conf
- file 명령으로 프로세스를 확인할 수 있다.
'OS 운영체제 및 보안 > Solaris' 카테고리의 다른 글
[스크랩] Solaris 시스템 현황보기 (0) | 2009.02.24 |
---|---|
[스크랩] Solaris에서 system performance 측정 (0) | 2009.02.24 |
Solaris7 에서 SSH(openssh) 설치 (0) | 2009.02.17 |
Solaris8 SSH 설치 (0) | 2009.02.17 |
[스크랩] Crash dump 분석하기 및 자동분석 스크립트 (0) | 2009.02.16 |
[스크랩] CPU 와 Memory Error... (0) | 2009.01.22 |
[스크랩] Solaris 서버 정보 확인 명령어 (0) | 2009.01.20 |
Solaris Telnet 사용시 Root로 접근 허용 및 제한 (0) | 2009.01.05 |
Solaris 에서 삭제를 할수 없는 파일이 있을때 해결 방법 (0) | 2008.12.24 |
Solaris9 Proftp 설치(패키지) (0) | 2008.12.23 |
- Filed under : OS 운영체제 및 보안/Solaris