Chpst honra as configurações ulimit?

1

No momento, estamos tendo problemas com um servidor baseado em JBoss em uma plataforma linux - efetivamente, estamos ficando sem identificadores de arquivos disponíveis no processo e os croaks do servidor.

Nós definimos ulimit para permitir 10000 filehandles abertos, e o servidor está travando consistentemente quando muito menos filehandles são abertos.

A única coisa que notei é que nossos scripts de inicialização usam chpst, e notei que o chpst permite que você defina limites de arquivo / processo / memória como argumentos. Alguém sabe se o chpst honra o ulimit do sistema existente se nenhum comando explícito estiver configurado ou se ele usa seus próprios padrões internos? Se sim, onde eu encontraria isso?

obrigado

    
por mcfinnigan 05.09.2013 / 12:05

1 resposta

1

O chpst nem mesmo honra o que você passa como argumentos. O código-fonte é realmente difícil de ler, mas a strace confirma:

execve("/usr/sbin/chpst", ["chpst", "-o", "10000", "/bin/sh", "-c", "sleep 5"], [/* 26 vars */]) = 0
...
getrlimit(RLIMIT_NOFILE, {rlim_cur=1024, rlim_max=4*1024}) = 0
setrlimit(RLIMIT_NOFILE, {rlim_cur=4*1024, rlim_max=4*1024}) = 0
execve("/bin/sh", ["/bin/sh", "-c", "sleep 5"], [/* 26 vars */]) = 0
...

Eu evitaria.

    
por 27.04.2017 / 15:53

Tags