docker fork/exec /proc/self/exe: 메모리를 할당할 수 없습니다.

docker fork/exec /proc/self/exe: 메모리를 할당할 수 없습니다.

며칠 후 docker가 오류와 함께 실패합니다.

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(업그레이드할 수 없음)

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  

VSZ가 거의 10G인 걸 봤는데

자유-m

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

Docker 서비스를 다시 시작하면 며칠 후 다시 나타날 때까지 문제가 사라집니다.

Docker가 다시 시작된 후 VSZ는 약 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  

누구든지 그것을 보았거나 제안 사항이 있습니까?

답변1

이 질문에는 다음이 포함됩니다.https://github.com/docker/docker/issues/8539docker 1.10 이상에서 수정되었습니다. 컨테이너의 STDOUT을 플러시하는 데 특별히 사용되는 버퍼에 문제를 일으키는 Docker 로그 드라이버에는 몇 가지 문제가 있습니다.

관련 정보