Eu tenho um servidor de compilação com Ubuntu. E no meu código-fonte é típico build.sh
invocar o arquivo make para compilar o código-fonte. Mas de repente o servidor travou e encontrei o login abaixo 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:
Alguém pode me dizer o que isso significa? Meu local pode build.sh
travar o kernel?
Responder1
OAssassino de OOMé ativado quando o sistema tem uma grave falta de memória:
É função do 'oom killer' do Linux sacrificar um ou mais processos para liberar memória para o sistema quando todo o resto falhar. Ele também eliminará qualquer processo que compartilhe o mesmo
mm_struct
processo selecionado, por razões óbvias. Qualquer líder de processo específico pode ser imunizado contra o oom killer se o valor dele/proc/<pid>/oomadj
for definido como constanteOOM_DISABLE
(atualmente definido como -17).
Coisas para verificar:
- Algo no seu script de construção está ocupando muita memória?
- Há vazamentos de memória em alguma ferramenta que você está usando?
Dê uma olhada emeste artigo LWN.