Steam에서 게임을 하고 있는데 갑자기 커널 패닉이 발생했습니다. 수동으로 컴퓨터를 종료하고 Linux Mint 17.1(Cinnamon) 64비트로 재부팅한 후 로그 파일을 확인해보았지만 /var/log/
발생한 커널 패닉과 관련된 어떠한 참고 자료나 어떤 종류의 메시지도 찾을 수 없었습니다.
이상한 점은 코어를 덤프하지 않거나 로그 파일에 기록하지 않는 이유입니다. 커널 패닉이 다시 발생할 경우 코어가 항상 덤프되도록 하는 방법은 무엇입니까? 커널 패닉이 발생할 때 왜 아무것도 기록되지 않는지 이해가 되지 않습니다. Google을 둘러보면 사람들이 , , 등을 읽어보라고 제안했지만 /var/log/dmesg
아무 /var/log/syslog
것도 /var/log/kern.log
없었 /var/log/Xorg.log
습니다. .Xsession-errors
파일 에도 없습니다.
이런 일이 다시 발생하면 언제든지 화면 사진을 찍을 수 있지만 커널 패닉이 발생할 경우 코어를 덤프하고 로그 파일을 생성할 수 있는지 확인하고 싶습니다.
답변1
커널 오류가 발생할 경우 컴퓨터에서 "코어" 파일을 생성하려면 컴퓨터의 "sysctl" 설정을 확인해야 합니다.
IMO에서는 다음이 설정되어야 합니다(최소) /etc/sysctl.conf
.
kernel.core_pattern = /var/crash/core.%t.%p
kernel.panic=10
kernel.unknown_nmi_panic=1
sysctl -p
파일이 변경된 후에 실행됩니다 /etc/sysctl.conf
. mkdir /var/crash
아직 존재하지 않는다면 아마도 그래야 할 것입니다.
키 SysRq(코어 덤프의 키 조합은 Alt+ SysRq+ C)를 사용하여 수동 덤프를 생성하여 위의 내용을 테스트할 수 있습니다.
답변2
커널 패닉이 발생하면 커널에 문제가 있음을 의미합니다. 로그 파일과 코어 덤프를 작성하려면 블록 저장 장치(디스크)와 파일 시스템용 드라이버가 필요합니다(공간을 할당해야 하며 로그 파일 크기를 업데이트해야 함). 파일에 쓰려면 커널에서 제공하는 서비스가 필요하고 커널은 자신이 손상된 상태에 있다는 것을 알고 있으므로 더 이상 안전한 상태가 아니기 때문에 파일에 쓰거나 아무것도 기록할 수 없습니다. 상황을 더욱 악화시킬 수 있으며 파일 시스템을 손상/손상시킬 수 있습니다. 따라서 커널이 로그에 기록하도록 할 수 없으며 패닉이 발생할 경우 코어 덤프를 덤프할 수도 없습니다.
이제 원하는 경우 수행할 수 있는 작업은 충돌 처리 커널로 시스템을 구성하는 것입니다. 이 커널은 기본 커널이 충돌할 경우 제어권을 전송할 수 있는 메모리에 로드된 두 번째 커널입니다. 이 커널에는 드라이버 등이 있으므로 크래시 덤프를 저장할 수 있습니다. 그러나 이는 매우 일반적인 설정이 아니며 주로 고가용성을 요구하는 고급 시스템에 사용되며 충돌은 조사해야 할 매우 심각한 문제입니다.
예를 들어 crashkernel 옵션을 참조하세요.커널 크래시 덤프ubuntu.com에서. (이 페이지는 Ubuntu 16.04부터 커널 크래시 덤프 메커니즘이 기본적으로 활성화되어 있음을 나타냅니다.)
나는 시스템이 재부팅하기 전에 실제로 덤프를 예약된 메모리에 저장하고 커널이 다음에 부팅할 때 예약된 메모리를 디스크에 저장한다고 믿습니다(새로 부팅된 커널은 정상 상태이고 이를 수행할 수 있기 때문입니다).