강좌 & 팁
core 덤프는 프로세스가 문제가 발생하여 죽었을 때 분석을 할 수 있는 유용한 자료입니다.
core dump가 생성될 수 있도록 설정하는 법에 대해서 알아보겠습니다.
우선 ulimit -c 로 현재 시스템에 core dump의 허용 사이즈를 알아봅니다.
만약 0으로 설정되어있으면 프로세스가 강제 종료되어도 core 덤프 파일이 생성되지 않습니다.
이것을
ulimit -c unlimited
로 변경하면 무제한으로 core 파일이 생성됩니다.
보통 core 덤프 파일은 프로세스를 실행한 디렉토리에 생성이 됩니다.
이것을 특정 디렉토리에 모으고, 이름에 규칙을 부여해보도록 하겠습니다.
cat /proc/sys/kernel/core_pattern
명령을 수행하면 core 라고 나올 것입니다. 모든 core 덤프 파일은 core로 저장이 됩니다.
이렇게 되면 overwrite가 되어서 여러개의 프로세스가 동시에 죽었을 경우 분석이 하나만 가능하겠죠
echo /var/core/core.%e > /proc/sys/kernel/core_pattern
%% A single % character
%p PID of dumped process
%u real UID of dumped process
%g real GID of dumped process
%s number of signal causing dump
%t time of dump (seconds since 0:00h, 1 Jan 1970)
%h hostname (same as ’nodename’ returned by uname(2))
%e executable filename