며칠 후 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 로그 드라이버에는 몇 가지 문제가 있습니다.