/proc/sys/vm/memory_failure_early_kill (since Linux 2.6.32)


             커널에 의해 처리 수없는 일치 하지 않는 uncorrected 메모리 오류 (일반적으로 메모리 모듈에 2 비트 오류)가 하드웨어에 의하여 감지되었을 때 프로세스를 죽이는 방법을 제어합니다.


            어떤 ( 여전히 디스크 상에 올바른 복사본을 가지고 있는 페이지와 같은 ) 경우에는, 커널 응용 프로그램에 영향을주지 않고 투명하게 실패를 처리합니다.


            그러나 데이터의 다른 최신 복사본 없다면, 다른 데이터들로 오류가 확산되는 것을 방지 하기 위하여, 프로세스를 죽입니다.


파일은 다음 값 중 하나를 가지게 됩니다.

1 : 손상 되어 재로딩이 불가능하게 패밍되어 있는 페이지가 감지 되었을때 즉시 모든 프로세스를 죽입니다. 이것은 커널 내부적으로 할당된 데이터 또는 스왑 캐시와 같은 몇 가지 종류의 페이지를 지원하지 않습니다. 하지만 사용자 페이지의 대부분의 내용은 동작 합니다.

0: 
오직 모든 프로세스에서 손상된 페이지를 unmap하고, 단지 손상된 부분만을 엑세스 하려는 것만 죽입니다.



죽이기 수행은 SIGBUS  시그널과 si_code 에 BUS_MCEERR_AO 값이 설정 되어 있을경우 수행 합니다. 프로세스는 프로세스 내부에서 원하면 핸들러 처리를 할 수 있습니다. 자세한 내용은 sigaction(2) 맨페이지를 참고 하세요.


이 기능은 하드웨어 기능에 의존적이며, 고급 기계 검사 처리를 위한 아키텍처/플렛폼에 따라 달라 집니다.


응용 프로그램은 prctl(2) PR_MCE_KILL 동작을  응용프로그램 내에서, 각각memory_failure_early_kill 설정을 무시할 수 있습니다.


단지  커널 옵션중 CONFIG_MEMORY_FAILURE가 활성되 되어 있을 경우에만 사용 됩니다..