MicroStrategy ONE

코어 덤프 파일 문제

예를 들어, 대상 폴더 아래에 코어 파일이 생성되면 코어 덤핑이 제대로 작동하는 것입니다. /<path_to_the_location>/core, 서버 충돌 중. Linux 운영 체제(OS)에서 이 기능을 확인하는 단계는 아래에 설명되어 있습니다.

  1. 다음을 실행하여 Intelligence Server의 프로세스 ID를 가져옵니다. ps -ef | grep -i mstrsvr. 아래 예에서 프로세스 ID는 6837입니다.
  2. 복사
    $ ps -ef | grep -i mstrsvr
    mstr      6837     1  2 12:15 ?        00:02:37 /opt/mstr/MicroStrategy/install/IntelligenceServer/bin/MSTRSvr -s -w /opt/mstr/MicroStrategy/IntelligenceServer -t status-iserver.xml /opt/mstr/MicroStrategy/install/lib/libMSTRSvr2.so -n CastorServer
    mstr     32481 32391  0 14:12 pts/0    00:00:00 grep --color=auto -i mstrsvr
  3. 다음을 실행하여 서버 충돌을 시뮬레이션합니다. sudo kill -6 <server_process_id> 명령.

  4. 대상 폴더 아래에 코어 파일이 생성되었는지 확인합니다. 예를 들어, /<path_to_the_location>/core. 코어 파일 크기는 0이 아니어야 합니다.

위의 절차대로 코어 파일이 생성되지 않는다면, 근본 원인을 파악해야 합니다. 가능한 원인과 문제를 해결하는 단계는 아래에 설명되어 있습니다.

Linux 운영 체제 구성이 잘못되었거나 누락되었습니다.

보다 소프트웨어 요구 사항 및 권장 사항 코어 덤핑을 활성화하려면 올바른 OS 구성이 필요합니다. 설정을 적용한 후 Intelligence Server를 다시 시작하십시오.

Intelligence Server가 서비스로 등록되면 구성이 누락됩니다.

OS 수준 코어 덤프 구성을 적용하려면 Linux 시스템을 재부팅해야 할 수도 있습니다. 재부팅 후에도 코어 덤프가 여전히 비활성화된 경우 기본 사용자 프로필이 init 단계(머신 재부팅 중)에서 시작된 프로세스에 대한 코어 파일 생성을 비활성화했을 수 있습니다. 이 문제를 해결하려면 아래 단계를 적용하세요.

  1. 사용하여 root 허가, 열어 /etc/init.d/mstr-<InstallName>-iserver-CastorServer 초기화 스크립트. 일반적으로, <InstallName> 의 형태이다 user@timestamp. 다음 줄을 찾으십시오.

    복사
    start ()
    {
  2. 찾은 줄 아래에 다음 명령을 추가하여 Intelligence Server가 코어 파일이 활성화된 서비스로 시작되도록 허용합니다.

    복사
    ulimit -c ulimited

디스크 공간 부족

코어 파일이 기록될 디스크에 충분한 여유 공간이 있는지 확인해야 합니다. 코어 파일은 지정된 디렉토리에 기록됩니다. kernel.core_pattern (보다 코어 덤프 활성화 자세한 내용은) 예상되는 코어 파일 크기는 충돌 시 Intelligence 서버의 메모리 공간과 동일합니다. 또한, 컴퓨터가 NFS(Network File System)를 사용하는 경우 대용량 파일(2GB 이상) 생성이 지원되는지 확인하십시오.

대안: RedHat Enterprise Linux 6 이상에서 ABRT를 사용하여 핵심 파일 처리

RedHat Linux 버전 6.x 이상에는 코어 덤프 파일을 자동으로 수집하여 /var/spool/abrt 폴더. 이것이 선호되는 경우 Intelligence 서버의 코어 덤핑이 ABRT와 함께 작동할 수 있도록 추가 단계가 필요합니다. 자세한 설명은 해당문서를 참고하세요 ABRT에 관한 공식 설명.

  1. 다음 단계를 수행했다면 코어 덤프 활성화, 다음 줄을 주석 처리하거나 제거하세요. /etc/sysctl.conf.

    복사
    kernel.core_pattern = /<path_to_the_location>/core/core.%e.%p.%h.%t
    fs.suid_dumpable = 2
  2. RedHat에서 서명하거나 패키지하지 않은 Intelligence 서버에 대한 코어 덤프 수집을 활성화합니다. 다음 줄을 적용하여 이를 수행합니다. /etc/abrt/abrt-action-save-package-data.conf:

    복사
    OpenGPGCheck = no
    ProcessUnpackaged = yes
  3. 다음 매개변수를 추가하여 코어 파일이 저장될 폴더를 구성합니다. /etc/abrt/abrt.conf. 기본적으로 매개변수는 주석 처리되어 있으며 값은 다음과 같습니다. /var/spool/abrt .

    복사
    DumpLocation =/Your_desired/Path_to_generate/the_core_file
  4. 위에서 언급한 설정을 적용하려면 ABRT 서비스를 다시 시작하세요. 다음 명령을 다음과 같이 실행하십시오. root.

    복사
    # service abrtd restart
    # service abrt-ccpp start
  5. 아래 명령을 실행하여 코어 덤프를 트리거하고 코어 파일이 생성될 수 있는지 확인합니다. 이를 실행하는 것이 중요합니다. /IntelligenceServer 폴더를 확인하고 생성된 코어 파일의 위치를 기록해 둡니다.

    복사
    # gcore -o <file> <pid>

몇 가지 중요한 참고사항:

  1. 다음을 확인하세요. DumpLocation ABRT 프로세스에 의해 존재하고 쓸 수 있습니다.
  2. 사용자 정의하면 DumpLocation, 지정된 폴더와 다른지 확인하세요. WatchCrashdumpArchiveDir, 이는 abrt.conf 파일.
  3. 코어 파일이 잘렸거나 여전히 덤프되지 않는 경우 시스템 메시지 로그를 검토할 수 있습니다. /var/log/messages 코어 덤핑이 실패하는 이유를 조사합니다.