El problema es causado por el TasksMax atributo systemd. Se introdujo en systemd 228 y hace uso del subsistema pid de cgroups, que se introdujo en el kernel de Linux 4.3. Un límite de tareas de 512 por lo tanto, está habilitado en systemd si se está ejecutando el kernel 4.3 o más reciente. La característica se anuncia aquí y se introdujo en esta solicitud de extracción y los valores predeterminados se establecieron mediante esta solicitud de extracción. Después de actualizar mi kernel a 4.3, systemctl status docker muestra un Tasks línea:
# systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/etc/systemd/system/docker.service; disabled; vendor preset: disabled)
Active: active (running) since Fri 2016-01-15 19:58:00 CET; 1min 52s ago
Docs: https://docs.docker.com
Main PID: 2770 (docker)
Tasks: 502 (limit: 512)
CGroup: /system.slice/docker.service
Ajuste TasksMax=infinity en el [Service] sección de docker.service soluciona el problema docker.service suele estar en /usr/share/systemd/system , pero también se puede poner/copiar en /etc/systemd/system para evitar que el administrador de paquetes lo anule.
Una solicitud de extracción está aumentando TasksMax para los archivos systemd de ejemplo de docker, y un informe de error de Arch Linux está tratando de lograr lo mismo para el paquete. Hay una discusión adicional en el Foro de Arch Linux y en un informe de error de Arch Linux con respecto a lxc.
DefaultTasksMax se puede utilizar en el [Manager] sección en /etc/systemd/system.conf (o /etc/systemd/user.conf para servicios ejecutados por el usuario) para controlar el valor predeterminado para TasksMax .
Systemd también aplica un límite para los programas que se ejecutan desde un shell de inicio de sesión. Estos predeterminados son 4096 por usuario (se incrementará a 12288 ) y están configurados como UserTasksMax en el [Login] sección de /etc/systemd/logind.conf .
La respuesta de cdauth es correcta, pero hay otro detalle que agregar.
En mi sistema Ubuntu 16.04 con systemd 229 y un kernel 4.3, se impuso un límite de 512 pid en los ámbitos de sesión de forma predeterminada, incluso cuando UserTasksMax se configuró en el nuevo valor predeterminado aumentado de 12288. Por lo tanto, cualquier ámbito de sesión de usuario se limitó a 512 subprocesos.
La única forma que encontré para eliminar el límite fue establecer DefaultTasksMax=unlimited en /etc/systemd/system.conf y systemctl daemon-reexec (o reiniciar).
Puede verificar si esto está sucediendo emitiendo systemctl status , eligiendo un ámbito de sesión y cat /sys/fs/cgroup/pids/user.slice/user-${UID}.slice/session-FOO.scope/pids.max .