JavaScript is required to for searching.
탐색 링크 건너뛰기
인쇄 보기 종료
Oracle Solaris 관리: 일반 작업     Oracle Solaris 11 Information Library (한국어)
search filter icon
search icon

문서 정보

본 문서 정보

1.  Oracle Solaris 명령에 대한 정보 찾기

2.  사용자 계정 및 그룹 관리(개요)

3.  사용자 계정 및 그룹 관리(작업)

4.  Oracle Solaris 시스템 부트 및 종료

5.  Oracle Configuration Manager 작업

6.  서비스 관리(개요)

7.  서비스 관리(작업)

8.  Fault Manager 사용

9.  시스템 정보 관리(작업)

10.  시스템 프로세스 관리(작업)

11.  시스템 성능 모니터링(작업)

12.  소프트웨어 패키지 관리(작업)

13.  디스크 사용 관리(작업)

14.  시스템 작업 일정 잡기(작업)

15.  CUPS를 사용하여 프린터 설정 및 관리(작업)

16.  시스템 콘솔, 터미널 장치 및 전원 서비스 관리(작업)

17.  시스템 충돌 정보 관리(작업)

18.  코어 파일 관리(작업)

코어 파일 관리(작업 맵)

코어 파일 관리 개요

구성 가능한 코어 파일 경로

확장된 코어 파일 이름

코어 파일 이름 패턴 설정

코어 파일을 생성하도록 setuid 프로그램을 사용으로 설정

현재 코어 덤프 구성 표시 방법

코어 파일 이름 패턴 설정 방법

프로세스별 코어 파일 경로를 사용으로 설정하는 방법

전역 코어 파일 경로를 사용으로 설정하는 방법

코어 파일 문제 해결

코어 파일 검사

19.  시스템 및 소프트웨어 문제 해결(작업)

20.  기타 시스템 및 소프트웨어 문제 해결(작업)

색인

코어 파일 관리 개요

코어 파일은 프로세스 또는 응용 프로그램이 비정상적으로 종료될 때 생성됩니다. 코어 파일은 coreadm 명령으로 관리됩니다.

예를 들어, coreadm 명령을 사용하여 모든 프로세스 코어 파일이 단일 시스템 디렉토리에 지정되도록 시스템을 구성할 수 있습니다. 즉, 프로세스 또는 데몬이 비정상적으로 종료될 때마다 특정 디렉토리의 코어 파일을 검사하여 보다 간편하게 문제를 추적할 수 있습니다.

구성 가능한 코어 파일 경로

상호 독립적으로 사용/사용 안함으로 설정할 수 있는 두 개의 구성 가능한 새 코어 파일 경로는 다음과 같습니다.

프로세스가 비정상적으로 종료될 때 기본적으로 현재 디렉토리에 코어 파일이 생성됩니다. 전역 코어 파일 경로를 사용으로 설정할 경우 프로세스가 비정상적으로 종료될 때마다 현재 작업 디렉토리와 전역 코어 파일 위치에 파일이 하나씩 생성될 수 있습니다.

기본적으로 setuid 프로세스는 전역 또는 프로세스별 경로를 사용하여 코어 파일을 생성하지 않습니다.

확장된 코어 파일 이름

전역 core 파일 디렉토리를 사용으로 설정할 경우 다음 표의 설명에 따라 변수를 사용하여 core 파일을 서로 구별할 수 있습니다.

변수 이름
변수 정의
%d
최대 MAXPATHLEN자의 실행 파일 디렉토리 이름
%f
최대 MAXCOMLEN자의 실행 파일 이름
%g
유효 그룹 ID
%m
시스템 이름(uname -m)
%n
시스템 노드 이름(uname -n)
%p
프로세스 ID
%t
시간의 십진수 값(2)
%u
유효 사용자 ID
%z
프로세스가 실행된 영역의 이름(zonename)
%%
리터럴 %

예를 들어, 전역 코어 파일 경로가 다음으로 설정된 경우

/var/core/core.%f.%p

PID가 12345sendmail 프로세스가 비정상적으로 종료되면 다음과 같은 코어 파일이 생성됩니다.

/var/core/core.sendmail.12345

코어 파일 이름 패턴 설정

전역, 영역 또는 프로세스별 기준으로 코어 파일 이름 패턴을 설정할 수 있습니다. 또한 시스템 재부트 시 지속되는 프로세스별 기본값을 설정할 수 있습니다.

예를 들어, 다음 coreadm 명령은 기본 프로세스별 코어 파일 패턴을 설정합니다. 이 설정은 기본 코어 파일 패턴을 명시적으로 무시하지 않은 모든 프로세스에 적용됩니다. 이 설정은 시스템 재부트 시 지속됩니다. 예를 들어, Solaris 9에서 다음 coreadm 명령은 init 프로세스가 시작한 모든 프로세스에 대한 전역 코어 파일 패턴을 설정합니다. 이 패턴은 시스템 재부트 시 지속됩니다.

# coreadm -i /var/core/core.%f.%p

다음 coreadm 명령은 모든 프로세스에 대해 프로세스별 코어 파일 이름 패턴을 설정합니다.

# coreadm -p /var/core/core.%f.%p $$

$$ 기호는 현재 실행 중인 셸의 프로세스 ID에 대한 자리 표시자입니다. 모든 하위 프로세스는 프로세스별 코어 파일 이름 패턴을 상속합니다.

전역 또는 프로세스별 코어 파일 이름 패턴을 설정한 후에는 coreadm -e 명령을 통해 사용으로 설정해야 합니다. 자세한 내용은 다음 절차를 참조하십시오.

사용자의 $HOME/.profile 또는 .login 파일에 명령을 삽입하여 사용자의 로그인 세션 중 실행되는 모든 프로세스에 대해 코어 파일 이름 패턴을 설정할 수 있습니다.

코어 파일을 생성하도록 setuid 프로그램을 사용으로 설정

coreadm 명령으로 다음 경로를 설정하여 모든 시스템 프로세스에 대해 코어 파일을 생성하거나 프로세스별로 코어 파일을 생성하도록 setuid 프로그램을 사용/사용 안함으로 설정할 수 있습니다.

기본적으로 두 플래그는 사용 안함으로 설정되어 있습니다. 보안상 전역 코어 파일 경로는 /로 시작하는 전체 경로 이름이어야 합니다. 수퍼유저가 프로세스별 코어 파일을 사용 안함으로 설정할 경우 개별 사용자가 코어 파일을 얻을 수 없습니다.

setuid 코어 파일은 수퍼유저 액세스에 대해서만 읽기/쓰기 권한을 가지는 수퍼유저가 소유합니다. 일반 사용자가 setuid 코어 파일을 생성한 프로세스를 소유한 경우에도 일반 사용자는 해당 파일에 액세스할 수 없습니다.

자세한 내용은 coreadm(1M) 매뉴얼 페이지를 참조하십시오.

현재 코어 덤프 구성 표시 방법

옵션 없이 coreadm 명령을 사용하여 현재 코어 덤프 구성을 표시합니다.

$ coreadm
               global core file pattern: 
     global core file content: default
       init core file pattern: core
       init core file content: default
            global core dumps: disabled
       per-process core dumps: enabled
      global setid core dumps: disabled
 per-process setid core dumps: disabled
     global core dump logging: disabled

코어 파일 이름 패턴 설정 방법

프로세스별 코어 파일 경로를 사용으로 설정하는 방법

  1. root 역할로 전환합니다.
  2. 프로세스별 코어 파일 경로를 사용으로 설정합니다.
    # coreadm -e process
  3. 현재 프로세스 코어 파일 경로를 표시하여 구성을 확인합니다.
    # coreadm $$
    1180:   /home/kryten/corefiles/%f.%p

전역 코어 파일 경로를 사용으로 설정하는 방법

  1. root 역할로 전환합니다.
  2. 전역 코어 파일 경로를 사용으로 설정합니다.
    # coreadm -e global -g /var/core/core.%f.%p
  3. 현재 프로세스 코어 파일 경로를 표시하여 구성을 확인합니다.
    # coreadm
           global core file pattern: /var/core/core.%f.%p
         global core file content: default
           init core file pattern: core
           init core file content: default
                global core dumps: enabled
           per-process core dumps: enabled
          global setid core dumps: disabled
     per-process setid core dumps: disabled
         global core dump logging: disabled