docker fork / exec / proc / self / exe: não pode alocar memória

1

Após alguns dias, o docker falha com erros

docker[8927]: level=error msg="Error running exec in container: execcantrun: Cannot run exec command 34a26 in container 4972e576: [8] System error: fork/exec /proc/self/exe: cannot allocate memory\n" 

Docker 1.9.1 (atualização não é uma opção)

USER       PID %CPU %MEM    VSZ     RSS    TTY      STAT START   TIME COMMAND 
root         34763  9.3    0.8    10680004   535208   ?      Ssl  Mar13 1334:17 /usr/bin/docker daemon -H fd:// --insecure-registry=0.0.0.0/0 --log-level=warn --ip-forward=false  

Ver VSZ é quase 10G

free -m

             total       used       free     shared    buffers     cached 
Mem:         63012      60128       2883        816          1       6775 
-/+ buffers/cache:      53351       9660 
Swap:         8191       7581        610  

Se eu reiniciar o serviço docker, o problema desaparece até a recorrência após alguns dias.

Após o reinício do docker, o VSZ é de cerca de 2G

root      27144  2.4  0.0 1786272 44432 ?       Ssl  17:44   4:47 /usr/bin/docker daemon -H fd:// --insecure-registry=0.0.0.0/0 --log-level=warn --ip-forward=false  

Alguém viu ou sugeriu?

    
por J H 24.03.2017 / 03:28

1 resposta

0

O problema está relacionado ao link que foi resolvido no docker 1.10 ou posterior. Houve algum problema com o driver de log do docker que resultou em problemas de buffer especificamente para liberar o STDOUT de um contêiner.

    
por 16.11.2017 / 01:43

Tags