Você provavelmente tem uma distro Linux que usa o systemd.
O Systemd cria um cgroup para cada usuário, e todos os processos de um usuário pertencem ao mesmo cgroup.
Cgroups é um mecanismo do Linux para definir limites em recursos do sistema como número máximo de processos, ciclos de CPU, uso de RAM, etc. Esta é uma camada diferente e mais moderna de limitação de recursos que ulimit
(que usa getrlimit()
syscall).
Se você executar systemctl status user-<uid>.slice
(que representa o cgroup do usuário), poderá ver o número atual e máximo de tarefas (processos e encadeamentos) permitidos dentro desse cgroup.
$ systemctl status user-$UID.slice ● user-22001.slice - User Slice of UID 22001 Loaded: loaded Drop-In: /usr/lib/systemd/system/user-.slice.d └─10-defaults.conf Active: active since Mon 2018-09-10 17:36:35 EEST; 1 weeks 3 days ago Tasks: 17 (limit: 10267) Memory: 616.7M
Por padrão, o número máximo de tarefas que o systemd permitirá para cada usuário é de 33% do "máximo do sistema" ( sysctl kernel.threads-max
); Isso geralmente equivale a ~ 10.000 tarefas. Se você quiser alterar este limite:
-
No systemd v239 e posterior, o padrão do usuário é definido via TasksMax = em:
/usr/lib/systemd/system/user-.slice.d/10-defaults.conf
Para ajustar o limite para um usuário específico (que será aplicado imediatamente, assim como armazenado em /etc/systemd/system.control), execute:
systemctl [--runtime] set-property user-<uid>.slice TasksMax=<value>
Os mecanismos usuais de sobrescrever as configurações de uma unidade (como
systemctl edit
) podem ser usados aqui também, mas eles exigirão uma reinicialização. Por exemplo, se você quiser alterar o limite para cada usuário, poderá criar/etc/systemd/system/user-.slice.d/15-limits.conf
. -
No systemd v238 e anterior, o padrão do usuário é definido por UserTasksMax = em
/etc/systemd/logind.conf
. Alterar o valor geralmente requer uma reinicialização.
Mais informações sobre isso:
- man 5 systemd.resource-control
- man 5 systemd.slice
- man 5 logind.conf
- link (pesquise esta página por cgroups)
- man 7 cgroups e link
- link