Como aumentar o número máximo de garfos no Ubuntu 16.04 [duplicado]

1

Estou tentando criar contêineres do Docker 1000x por meio de:

nohup docker run --rm --name n-- n-v2 bash -c "/root/sw/run.sh  " 2> ~/logs/log--.log &

Mas depois de cerca de 500x contêineres, começo a receber o seguinte erro:

fork: retry: No child processes

O servidor que eu estou executando isso tem 48x núcleos e 192 GB de memória ram ... Eu deveria ser capaz de girar vários milhares desses contêineres sem nenhum problema ... existe uma maneira de aumentar esse limite?

Depois de fazer algumas pesquisas, descobri que posso verificar o número máximo de garfos via ulimit -u ... existe alguma maneira de mudar isso?

Soren A da resposta parece legítima, mas parece que isso não resolveu a questão. Eu posso chegar a ~ 12287 threads (checed via cat /sys/fs/cgroup/pids/user.slice/user-1000.slice/pids.current ) antes de começar a acertar o mesmo problema ... ambos os meus limites hard e soft em /etc/security/limits.conf estão definidos como 99999999 ainda ainda estou sendo limitado em torno de 12287

    
por CaffeineAddiction 17.02.2017 / 23:41

1 resposta

2

Você pode definir os valores temporários com ulimit -u <value> Ou permanentemente em /etc/security/limits.conf com linhas como

*    hard    nproc  64000
*    soft    nproc  64000

Ou o mesmo em um arquivo conf em /etc/security/limits.d, ex. /etc/security/limits.d/90-nproc.conf se você quiser.

Em vez de configurá-lo para todos os usuários (*), você pode fazer isso apenas para o usuário que está iniciando seus processos, para que outros usuários não consigam obter tantos recursos em seu sistema.

    
por Soren A 18.02.2017 / 00:13