MicroStrategy ONE
코어 덤프 파일 문제
예를 들어, 대상 폴더 아래에 코어 파일이 생성되면 코어 덤핑이 제대로 작동하는 것입니다. /<path_to_the_location>/core
, 서버 충돌 중. Linux 운영 체제(OS)에서 이 기능을 확인하는 단계는 아래에 설명되어 있습니다.
- 다음을 실행하여 Intelligence Server의 프로세스 ID를 가져옵니다.
ps -ef | grep -i mstrsvr
. 아래 예에서 프로세스 ID는 6837입니다. -
다음을 실행하여 서버 충돌을 시뮬레이션합니다.
sudo kill -6 <server_process_id>
명령. - 대상 폴더 아래에 코어 파일이 생성되었는지 확인합니다. 예를 들어,
/<path_to_the_location>/core
. 코어 파일 크기는 0이 아니어야 합니다.
$ 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
위의 절차대로 코어 파일이 생성되지 않는다면, 근본 원인을 파악해야 합니다. 가능한 원인과 문제를 해결하는 단계는 아래에 설명되어 있습니다.
Linux 운영 체제 구성이 잘못되었거나 누락되었습니다.
보다 소프트웨어 요구 사항 및 권장 사항 코어 덤핑을 활성화하려면 올바른 OS 구성이 필요합니다. 설정을 적용한 후 Intelligence Server를 다시 시작하십시오.
Intelligence Server가 서비스로 등록되면 구성이 누락됩니다.
OS 수준 코어 덤프 구성을 적용하려면 Linux 시스템을 재부팅해야 할 수도 있습니다. 재부팅 후에도 코어 덤프가 여전히 비활성화된 경우 기본 사용자 프로필이 init 단계(머신 재부팅 중)에서 시작된 프로세스에 대한 코어 파일 생성을 비활성화했을 수 있습니다. 이 문제를 해결하려면 아래 단계를 적용하세요.
-
사용하여
root
허가, 열어/etc/init.d/mstr-<InstallName>-iserver-CastorServer
초기화 스크립트. 일반적으로,<InstallName>
의 형태이다user@timestamp
. 다음 줄을 찾으십시오.복사start ()
{ -
찾은 줄 아래에 다음 명령을 추가하여 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에 관한 공식 설명.
-
다음 단계를 수행했다면 코어 덤프 활성화, 다음 줄을 주석 처리하거나 제거하세요.
/etc/sysctl.conf
.복사kernel.core_pattern = /<path_to_the_location>/core/core.%e.%p.%h.%t
fs.suid_dumpable = 2 -
RedHat에서 서명하거나 패키지하지 않은 Intelligence 서버에 대한 코어 덤프 수집을 활성화합니다. 다음 줄을 적용하여 이를 수행합니다.
/etc/abrt/abrt-action-save-package-data.conf
:복사OpenGPGCheck = no
ProcessUnpackaged = yes -
다음 매개변수를 추가하여 코어 파일이 저장될 폴더를 구성합니다.
/etc/abrt/abrt.conf
. 기본적으로 매개변수는 주석 처리되어 있으며 값은 다음과 같습니다./var/spool/abrt
.복사DumpLocation =/Your_desired/Path_to_generate/the_core_file
-
위에서 언급한 설정을 적용하려면 ABRT 서비스를 다시 시작하세요. 다음 명령을 다음과 같이 실행하십시오.
root
.복사# service abrtd restart
# service abrt-ccpp start -
아래 명령을 실행하여 코어 덤프를 트리거하고 코어 파일이 생성될 수 있는지 확인합니다. 이를 실행하는 것이 중요합니다.
/IntelligenceServer
폴더를 확인하고 생성된 코어 파일의 위치를 기록해 둡니다.복사# gcore -o <file> <pid>
몇 가지 중요한 참고사항:
- 다음을 확인하세요.
DumpLocation
ABRT 프로세스에 의해 존재하고 쓸 수 있습니다. - 사용자 정의하면
DumpLocation
, 지정된 폴더와 다른지 확인하세요.WatchCrashdumpArchiveDir
, 이는abrt.conf
파일. - 코어 파일이 잘렸거나 여전히 덤프되지 않는 경우 시스템 메시지 로그를 검토할 수 있습니다.
/var/log/messages
코어 덤핑이 실패하는 이유를 조사합니다.