O limite de arquivos abertos no Centos afetará as conexões HTTP? O limite se aplica a uma única sessão ou a todas as sessões?

3

Quando eu faço um ulimit -n eu tenho 256, eu suponho que isso significa que eu posso abrir 256 arquivos no sametime. Isso significa que posso abrir 256 arquivos com uma única sessão? ou todas as sessões?

Por exemplo, eu entrei no meu servidor com o nome de usuário "abc" (via putty / ssh), e abri 200 arquivos, com a sessão ainda em execução, fiz login no mesmo servidor novamente com o mesmo nome de usuário "abc" putty / ssh), posso abrir apenas outros 56 arquivos? ou posso abrir mais 256 arquivos?

Por fim, esse limite também restringe o número de conexões http? por exemplo. Com o exemplo acima, eu abri 200 arquivos e depois usei "wget" ou "curl" para fazer conexões http.

Obrigado

    
por forestclown 31.05.2012 / 03:35

2 respostas

5

ulimit é um bash embutido, portanto, aplica-se apenas ao shell e, particularmente, a quaisquer processos criados pelo shell atual. Portanto, se você mudar por qualquer motivo, você terá que fazê-lo de forma persistente.

Você pode querer verificar o arquivo /etc/security/limits.conf para definir limites de sessão por usuário. (que parece ser o método preferido do CentOS)

você pode ver arquivos abertos usando o comando lsof -P | grep $somepid

    
por 31.05.2012 / 04:55
0

O sistema Linux limita o número de descritores de arquivos abertos por processo.

256 parece ser suficiente para a maioria dos sites, se você usa o Apache com o prepróximo MPM.

Para aumentar o limite, você precisa adicionar uma linha a /etc/security/limits.conf para permitir que processos de algum usuário ou grupo aumentem o valor padrão. Depois disso, o PAM definirá isso no máximo no momento em que você fizer o login. Mas isso não é suficiente para o Apache, já que ele não faz o "login".

Você também precisará aumentar esses valores antes de iniciar o Apache. No CentOS você pode editar seu script /etc/init.d/apache2 e colocar ulimit -n XXXXXX no início da função start ().

Você pode verificar o limite de execução do processo no arquivo /proc/<PID>/limits , a lista de descritores de arquivos abertos está em /proc/<PID>/fd/

    
por 31.05.2012 / 13:01

Tags