Docker bash: bifurcación: no se puede asignar memoria

Docker bash: bifurcación: no se puede asignar memoria

Estoy intentando crear más de 4000 contenedores acoplables a través de demonios separados (para evitar la barrera de 1023 veth por puente). pero estoy consiguiendo

bash: bifurcación: no se puede asignar memoria

error alrededor de 1800. He aumentado los recursos de todo el sistema ( ulimit) y quedan muchos inodos y memoria. Docker versión 1.8 RedHat versión 7

Respuesta1

Bash no usa vforky bash es enorme.

Esto hace que muchas bifurcaciones consuman mucha memoria virtual.

Lo más probable es que se trate de un problema causado por los recursos de memoria reales del sistema y no por algo que pueda controlar a través de ulimit.

¿Intentaste utilizar Bourne Shell o ksh93? Ambos se utilizan vfork()para optimizar el rendimiento.

Respuesta2

El problema estaba en el proceso zombie de Docker que estaba consumiendo la capacidad del proceso del kernel. Pude resolver el problema aumentando kernel.pid_max.

información relacionada