탐색 링크 건너뛰기 | |
인쇄 보기 종료 | |
Oracle Solaris 11.1의 일반적인 문제 해결 Oracle Solaris 11.1 Information Library (한국어) |
이 절에서는 시스템 충돌 덤프 정보를 관리하기 위한 작업에 대해 설명합니다.
|
# dumpadm Dump content: kernel pages Dump device: /dev/zvol/dsk/rpool/dump (dedicated) Savecore directory: /var/crash Savecore enabled: yes Save compressed: on
위 출력 예는 다음을 의미합니다.
덤프 컨텐츠가 커널 메모리 페이지입니다.
커널 메모리는 전용 덤프 장치 /dev/zvol/dsk/rpool/dump에 덤프됩니다.
시스템 충돌 덤프 파일이 /var/crash 디렉토리에 작성됩니다.
충돌 덤프 파일 저장이 사용으로 설정되어 있습니다.
충돌 덤프를 압축된 형식으로 저장합니다.
# dumpadm Dump content: kernel pages Dump device: /dev/zvol/dsk/rpool/dump (dedicated) Savecore directory: /var/crash Savecore enabled: yes Save compressed: on
이 출력은 Oracle Solaris 11 릴리스가 실행되는 시스템의 기본 덤프 구성을 식별합니다.
# /usr/sbin/dumpadm [-nuy] [-c content-type] [-d dump-device] [-m mink | minm | min%] [-s savecore-dir] [-r root-dir] [-z on | off]
덤프할 데이터의 유형을 지정합니다. 모든 커널 메모리를 덤프하려면 kernel을, 모든 메모리를 덤프하려면 all을, 커널 메모리와 충돌이 발생할 때 스레드가 실행되고 있었던 프로세스의 메모리 페이지를 덤프하려면 curproc를 사용합니다. 기본 덤프 컨텐츠는 커널 메모리입니다.
시스템 충돌 시 덤프 데이터를 임시로 저장하는 장치를 지정합니다. 기본 덤프 장치가 기본적으로 사용되는 덤프 장치입니다.
현재 savecore 디렉토리에 minfree 파일을 만들어 충돌 덤프 파일 저장을 위한 최소 사용 가능 디스크 공간을 지정합니다. 이 매개변수는 KB(nnnk), MB(nnnm) 또는 파일 시스템 크기 퍼센트(nnn%)로 지정할 수 있습니다. savecore 명령은 충돌 덤프 파일을 작성하기 전에 이 파일을 참조합니다. 크기를 기반으로 충돌 덤프 파일을 작성하여 사용 가능한 공간이 minfree 임계치 아래로 떨어지는 경우 덤프 파일이 작성되지 않고 오류 메시지가 기록됩니다. 이 시나리오 복구에 대한 자세한 내용은 전체 충돌 덤프 디렉토리에서 복구 방법(선택 사항)을 참조하십시오.
시스템 재부트 시 savecore가 실행되지 않도록 지정합니다. 이 덤프 구성은 권장되지 않습니다. 시스템 충돌 정보가 스왑 장치에 기록되며 savecore가 사용으로 설정되지 않은 경우 시스템이 스왑을 시작할 때 충돌 덤프 정보를 겹쳐 씁니다.
충돌 덤프 파일을 저장할 대체 디렉토리를 지정합니다. Oracle Solaris 11에서 기본 디렉토리는 /var/crash입니다.
/etc/dumpadm.conf 파일의 컨텐츠를 기반으로 커널 덤프 구성을 강제로 업데이트합니다.
재부트 시 savecore 명령이 자동으로 실행(이 덤프 설정의 기본값임)되도록 덤프 구성을 수정합니다.
재부트 시 savecore 명령 작동이 제어되도록 덤프 구성을 수정합니다. on으로 설정하면 코어 파일이 압축된 형식으로 저장됩니다. off로 설정하면 자동으로 충돌 덤프 파일의 압축이 풀립니다. 충돌 덤프 파일은 매우 커질 수 있으므로 충돌 덤프 파일이 압축된 형식으로 저장되면 파일 시스템 공간이 줄어들므로 기본값은 on입니다.
예 1-1 충돌 덤프 구성 수정
이 예에서는 모든 메모리가 전용 덤프 장치인 /dev/zvol/dsk/rpool/dump에 덤프되며 충돌 덤프 파일 저장 후 사용할 수 있어야 하는 최소 사용 가능 공간이 파일 시스템 공간의 10%입니다.
# dumpadm Dump content: kernel pages Dump device: /dev/zvol/dsk/rpool/dump (dedicated) Savecore directory: /var/crash Savecore enabled: yes Save compressed: on # dumpadm -c all -d /dev/zvol/dsk/rpool/dump -m 10% Dump content: all pages Dump device: /dev/zvol/dsk/rpool/dump (dedicated) Savecore directory: /var/crash (minfree = 5697105KB) Savecore enabled: yes Save compressed: on
# cd /var/crash
충돌 덤프의 위치를 모르면 dumpadm 명령을 사용하여 시스템이 커널 충돌 덤프 파일을 저장할 위치를 확인합니다. 예를 들면 다음과 같습니다.
# /usr/sbin/dumpadm Dump content: kernel pages Dump device: /dev/zvol/dsk/rpool/dump (dedicated) Savecore directory: /var/crash Savecore enabled: yes Save compressed: on
# /usr/bin/mdb [-k] crashdump-file
파일을 운영 체제 충돌 덤프 파일로 가정하여 커널 디버깅 모드를 지정합니다.
운영 체제 충돌 덤프 파일을 지정합니다.
예를 들면 다음과 같습니다.
# /usr/bin/mdb -K vmcore.0
또는 명령을 다음과 같이 지정할 수 있습니다.
# /usr/bin/mdb -k 0
> ::status . . . > ::system . . .
커널 충돌 덤프를 검사할 때 ::system dcmd 명령을 사용하려면 코어 파일이 커널 충돌 덤프여야 하고 mdb 유틸리티를 시작할 때 -k 옵션이 지정되어 있어야 합니다.
> $quit
예 1-2 충돌 덤프 정보 검사
다음 예에서는 시스템 정보를 포함하며 이 시스템의 /etc/system 파일에서 설정된 tunable을 식별하는 mdb 유틸리티의 샘플 출력을 보여 줍니다.
# cd /var/crash # /usr/bin/mdb -k unix.0 Loading modules: [ unix krtld genunix ip nfs ipc ptm ] > ::status debugging crash dump /dev/mem (64-bit) from ozlo operating system: 5.10 Generic sun4v > ::system set ufs_ninode=0x9c40 [0t40000] set ncsize=0x4e20 [0t20000] set pt_cnt=0x400 [0t1024] > $q
이 시나리오에서는 시스템이 충돌하지만 savecore 디렉토리에 남은 공간이 없으며 중요한 시스템 충돌 덤프 정보를 저장하고자 합니다.
# savecore [ directory ]
예 1-3 충돌 덤프 저장을 사용 안함으로 설정
다음 예에서는 시스템에서의 충돌 덤프 저장을 사용 안함으로 설정하는 방법을 보여 줍니다.
# Dump content: all pages Dump device: /dev/zvol/dsk/rpool/dump (dedicated) Savecore directory: /var/crash (minfree = 5697105KB) Savecore enabled: no Save compressed: on
예 1-4 충돌 덤프 저장을 사용으로 설정
다음 예에서는 시스템에서의 충돌 덤프 저장을 사용으로 설정하는 방법을 보여 줍니다.
# dumpadm -y Dump content: all pages Dump device: /dev/zvol/dsk/rpool/dump (dedicated) Savecore directory: /var/crash (minfree = 5697105KB) Savecore enabled: yes Save compressed: on