build.sh 실행 후 우분투 서버 충돌

build.sh 실행 후 우분투 서버 충돌

Ubuntu를 사용하는 빌드 서버가 있습니다. 그리고 내 소스 코드에는 build.sh소스 코드를 컴파일하기 위해 make 파일을 호출하는 것이 일반적입니다 . 그런데 갑자기 서버가 다운되어 아래와 같은 로그인 정보를 발견했습니다 syslog.

Aug  4 13:47:28 VDBS1130 kernel: [2689989.302589] build.sh invoked oom-killer: gfp_mask=0xd0, order=1, oom_adj=0, oom_score_adj=0
Aug  4 13:47:28 VDBS1130 kernel: [2689989.302593] build.sh cpuset=/ mems_allowed=0
Aug  4 13:47:28 VDBS1130 kernel: [2689989.302596] Pid: 8978, comm: build.sh Not tainted 3.2.0-60-generic-pae #91-Ubuntu
Aug  4 13:47:28 VDBS1130 kernel: [2689989.302598] Call Trace:

누구든지 그것이 무엇을 의미하는지 말해 줄 수 있습니까? 내 로컬에서 build.sh커널이 충돌할 수 있나요?

답변1

그만큼OOM 킬러시스템에 심각한 메모리 부족이 있을 때 활성화됩니다.

다른 모든 작업이 실패할 때 시스템의 메모리를 확보하기 위해 하나 이상의 프로세스를 희생하는 것이 Linux 'oom killer'의 임무입니다. 또한 mm_struct분명한 이유로 선택한 프로세스와 동일한 프로세스를 공유하는 모든 프로세스를 종료합니다 . 특정 프로세스 리더의 값이 /proc/<pid>/oomadj상수 OOM_DISABLE(현재는 -17로 정의됨)로 설정되어 있으면 룸 킬러에 대해 면역될 수 있습니다.

확인해야 할 사항:

  • 빌드 스크립트의 어떤 항목이 많은 메모리를 차지합니까?
  • 사용 중인 일부 도구에 메모리 누수가 있습니까?

보세요이 LWN 기사.

관련 정보