O que é um teto seguro de ulimit?

7

Esta é a saída de ulimit -a

core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 16382
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) unlimited
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

Esta é uma instalação de 64 bits, e eu gostaria de aumentar os arquivos max-open de 1024 para um limite mais inebriante, como 5000. Será que algum problema? Isso causará instabilidade?

Obrigado.

    
por theTuxRacer 18.02.2011 / 13:50

1 resposta

3

max-open é o número de arquivos que um usuário pode manter aberto em sessão única simultaneamente.

  

Além disso, observe que todas as configurações de limite são definidas por login. Eles não são globais nem são permanentes; existente apenas durante a duração da sessão.

(do man limits.conf (5))

O valor seguro para o número máximo realmente depende do seu uso. Apontar com valores padrão é impedir a negação de serviços trivial (acidental). Há também um limite global para o número de arquivos abertos:

cat /proc/sys/fs/file-max

Você pode alterar esse número executando, por exemplo,

echo 100000 > /proc/sys/fs/file-max

(com raiz do usuário, obviamente). Melhor ainda é adicionar também a linha fs.file-max = 10000 a /etc/sysctl.conf para carregar a mesma configuração após a reinicialização.

A partir de ulimit: é seguro aumentar esse número. No entanto, o número de arquivos abertos não deve exceder o global file-max, porque a abertura de novos arquivos não é mais possível (e, por exemplo, o login requer a abertura de arquivos).

Se houver vários usuários, lembre-se de que, se você alterar o padrão, todos poderão abrir mais arquivos. Por exemplo, 30 usuários * 5000 arquivos = 150.000 arquivos abertos (supondo que todos abram o número máximo de arquivos e usem apenas uma sessão). Se você tiver algum software realmente utilizado por muitos usuários, isso pode ser um problema.

    
por Olli 20.02.2011 / 16:35