kernel panic, 커널 패닉 시 재부팅 설정
시스템을 운영하다가 보다 나은 향상을 위해 커널 변수 설정을 변경하거나 혹은 하드웨어적인 문제, 사용하는 애플리케이션 충돌 등 기타 문제로 인해 패닉이 빈번하게 발생되는 경우가 있다.
분명한 건 발생원인 분석이 우선이겠지만 임시방편으로 사용하기 위해 커널 파라미터를 통해 패닉 발생 시 원하는 시간을 대기한 후 리부팅이 되는 방법을 알아보자.
커널 변수를 조정하기 위해서는 sysctl을 이용해 /proc/sys 리스트를 수정하면 된다.
※ 시스템에 따라서 sysctl.conf 구성이 다를 수 있다.
vi /etc/sysctl.conf
# Kernel sysctl configuration file for Red Hat Linux
#
# For binary values, 0 is disabled, 1 is enabled. See sysctl(8) and
# sysctl.conf(5) for more details.
# Controls IP packet forwarding
net.ipv4.ip_forward = 0
# Controls source route verification
net.ipv4.conf.default.rp_filter = 1
# Do not accept source routing
net.ipv4.conf.default.accept_source_route = 0
# Controls the System Request debugging functionality of the kernel
kernel.sysrq = 1
# 패닉발생을 위한 임시대처로 추가해준 부분
kernel.panic = 3
# Controls whether core dumps will append the PID to the core filename.
# Useful for debugging multi-threaded applications.
kernel.core_uses_pid = 1
/etc/sysctl.conf 파일을 실행해주고 난이후 즉시 적용을 하기위해 -p 옵션을 사용하면 현재 적용된 리스트들이 보인다.
sysctl -p
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 1
kernel.panic = 3
kernel.core_uses_pid = 1
또는 쉘에서 바로 명령어를 입력해도 된다. 단, 재부팅 시 초기화된다.
echo 3 > /proc/sys/kernel/panic
기본 설정으로 설정값은 0이다. 커널 패닉 시 대응을 하지 않겠단 의미이다.
커널 패닉 파라미터의 단위는 초 단위로 적당히 지정해주면 된다.
끝.
'IT > linux' 카테고리의 다른 글
임베디드 리눅스 보안 이슈 정리 (0) | 2022.01.17 |
---|---|
linux coredump, core 파일 생성 방법, ulimit (2) | 2022.01.16 |
linux aplay PCM 파일 재생 예제 (0) | 2022.01.15 |
linux serial 사용, 포트 설정, 상태 확인 (0) | 2022.01.15 |
grub installer, 부트로더 스크립트 예제 (0) | 2022.01.15 |
댓글