No Linux, os threads contam para o ulimit -u
count, mas não aparecem normalmente com ps -A
. Você precisa adicionar o sinalizador L
.
por exemplo, na minha máquina:
% ps -A | wc -l
124
% ps -AL | wc -l
155
Podemos ver que há mais 31 processos em execução; estes são tópicos, normalmente escondidos da vista.
Com o java e outros aplicativos altamente segmentados, pode ser fácil executar mais threads / processos do que você pensa. Seu valor ulimit -u
precisa levar isso em consideração.
Isso pode inesperadamente atingir pessoas que executam muitos aplicativos java em sistemas RedHat, nos quais ela vem, por padrão, com uma configuração ulimit
:
% cat /etc/security/limits.d/20-nproc.conf
# Default limit for number of user's processes to prevent
# accidental fork bombs.
# See rhbz #432903 for reasoning.
* soft nproc 4096
root soft nproc unlimited