Docker bash: 포크: 메모리를 할당할 수 없습니다.

Docker bash: 포크: 메모리를 할당할 수 없습니다.

별도의 악마를 통해 4000개 이상의 도커 컨테이너를 만들려고 합니다(브리지당 1023개의 veth 장벽을 피하기 위해). 하지만 나는 점점

bash: 포크: 메모리를 할당할 수 없습니다

1800쯤에 오류가 발생했습니다. 시스템 전체 리소스( )를 늘렸으며 ulimitinode와 메모리가 많이 남아 있습니다. 도커 버전 1.8 RedHat 버전 7

답변1

Bash는 사용하지 않으며 vforkbash는 엄청납니다.

이로 인해 많은 포크가 많은 가상 메모리를 소비하게 됩니다.

이는 ulimit.

Bourne Shell이나 ksh93을 사용해 보셨나요? 둘 다 vfork()성능을 최적화하는 데 사용됩니다 .

답변2

문제는 커널 프로세스 용량을 잡아먹는 docker 좀비 프로세스에서 발생했으며, kernel.pid_max를 늘려 문제를 해결할 수 있었습니다.

관련 정보