극히 개인적이고 극히 대단하지 않은

kdump를 설정했음에도 kdump가 생기지 않는 대표적 경우와 해결책 본문

20년차 개발자

kdump를 설정했음에도 kdump가 생기지 않는 대표적 경우와 해결책

회색싼타 2023. 3. 30. 13:39

환경은 ubuntu 20.04이다.

 

현장의 장비가 원인없이 reboot되는 경우가 있어서 kdump를 설정했다.

 

구글링한 정보들을 짜맞춰서 정상적으로 설정이 된 것 같은데 문제가 발생했을 때, reboot이 아니라 hang이 발생하고 crash정보도 생성되지 않아 더 난감한 상황에 빠진 적이 있다.

 

정상적으로 kdump가 설정된 것은 다음과 같은 정보들로 확인했다.

USE_KDUMP가 1이고, current state가 ready to dump이면 kdump가 생성될 조건이 되었을 때, 생성이 되어야 하는 것이다.

 

이런데도 불구하고 kdump가 생성되지 않는다면, kdump를 위한 메모리 확보가 충분하지 않아 그럴 가능성이 높다. 콘솔에서 다음과 같은 부분이 발견된다면 더더욱...

 

[    3.598311] Out of memory and no killable processes...
[    3.603423] Kernel panic - not syncing: System is deadlocked on memory

 

 

cat /proc/cmdline 명령을 입력했을 때, crashkernel 항목의 파라미터를 늘여보자. 이 시스템의 경우는 192M에서 512M로 늘여줬다.

 

/etc/default/grub.d/kdump-tools.cfg 파일의 GRUB_CMDLINE_LINUX_DEFAULT 항목의 맨 마지막 항목을 192M에서 512M로 변경하고 저장했다. update-grub 명령을 입력하여 grub에 반드시 등록해줘야 한다.

 

한번 시스템을 재시작 한 후, 정상적으로 반영되었는 지, cat /proc/cmdline으로 다시 확인한다. 모든 게 정상적으로 반영이 되어 있다면 익히 아는 방법인 echo c > /proc/sysrq-trigger 명령을 내려본다.

 

정상적으로 리부팅이 되면서 /var/crash에 필요한 정보들이 남는 것을 확인했다.

Comments