segfault 메시지.

SilverWhalle의 이미지

한 서버의 프로세스가 지속적으로 segfault 메시지를 발생시킵니다.
메시지 형식은 다음과 같습니다.
날짜 서버주소 kernel: 프로세스명[11912]: segfault at 00000000000c9308 rip 0000000008057c68 rsp 00000000ffffc980 error 4

kldp에서 찾아본 글중에 어플리케이션이 segfault를 내면 커널이 그 App를 죽인다고 하지만 지속적으로 segfault를 발생시키고 있습니다.
잘못된 메모리 공간에 쓰기 시도를 하면 이 segmentation fault를 발생시킨다고 하는데요. 이것이 지속되면 어떤일이 야기되나요? 서버가 리붓될 수 있나요? 서버 리붓된 원인을 찾다가 sar, 온도, iostat등 나름대로 봐도 문제가 없어보입니다. 프로세스나 어플리케이션 레벨에서 지속적인 segfault가 서버리붓을 발생시킬 수도 있나요?

cacus의 이미지

제 경험상으론 메모리 문제이거나 하드디스크에 배드 섹터가 있어도 segfault 메세지가 발생했었습니다.
아마도 리붓을 발생시킬수도 있지 않을까요?

ydhoney의 이미지

단순히 소스레벨 process segfault라면 reboot 유발까지는 아니구요. 가끔 프로세스가 없어진걸 깨닫게 될 수도 있겠지요. -_-;

원인의 대부분은 개발소스 아키텍쳐 관련 문제거나 메모리 불량입니다. ipmi를 올리셔서 ipmitool sel list 하셔서 시스템 보드를 비롯한 메모리부 등의 불량여부를 살펴보세요. (당연히 서버급. pc급은..;; 메모리만이라면 memtest 쓰시거나요. -_- 딱히 방법이;;)

간간히 oom kill로 죽는것들도 segfault 가 뜨는 경우도 있고 합니다.

덤프 떨어지는 것 있으면 덤프 받아서 개발업체나 product 업체에 의뢰하는것도 방법입니다. 간간히 프로세스가 죽는것도 있고 아닌것도 있고 하기는 합니다만;

근데 서버가 reboot 혹은 hang 걸리는 상황이면 물리적인 메모리 bad일 확률이 높습니다. 많은 os 설치CD 등에서 memtest 옵션을 제공하니 한번 사용해보세요. 하루 이상 걸리기는 합니다만;

서버에 ipmi가 장착되어 있다면 ipmi 가동시켜 sel log 확인하시는게 가장 빠를겁니다. os단에서 h/w fail에 대한 답을 모두 얻을수는 없으니까요.

SilverWhalle의 이미지

답변들 정말 감사합니다. 무얼 어떻게 알아나가야 할지 길이 보이네요.