Limite de recursos padrão no usuário root

2

Por acaso, vi que no meu Ubuntu 12.04 alguns recursos do usuário root são limitados. Eu não limitei nada explicitamente e meu limits.conf, no que diz respeito ao usuário root, está vazio. Aqui está a saída do ulimit -a no usuário root

core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 95931
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) 95931
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

Então eu acredito que é um limite padrão. Então, minha pergunta é qual é a razão por trás de limitar esses recursos do usuário root por padrão? Agora, quando eu tento definir o limite de arquivo para ilimitado como usuário root usando o comando abaixo, recebo uma operação não permitida erro.

ulimit -H -n unlimited

O que me impede de definir o limite como infinito e como é seguro defini-lo como infinito?

    
por PaulDaviesC 02.01.2014 / 15:52

1 resposta

3

Esses limites padrão são codificados permanentemente na origem do kernel. Esses limites são definidos para o processo init pelo kernel e outros processos herdam de init . Consulte aqui .

Por que você recebe um erro ao tentar definir o número de arquivos abertos como ilimitado provavelmente porque a configuração de todo o sistema não é ilimitada, verifique com cat /proc/sys/fs/file-max . Veja aqui :

  

file-max & amp; file-nr:

     

O valor no arquivo-max denota o número máximo de arquivos   manipula que o kernel do Linux irá alocar. Quando você recebe lotes   de mensagens de erro sobre a falta de identificadores de arquivos, você pode   quer aumentar esse limite.

Você pode alterar esse limite para todo o sistema se você executar, e. echo 300000 > /proc/sys/fs/file-max como raiz ou com sysctl -w fs.file-max=300000 como raiz. Para tornar essas alterações permanentes, adicione uma linha semelhante à seguinte

fs.file-max=300000

para o arquivo /etc/sysctl.conf , por exemplo, executando echo "fs.file-max=300000" >> /etc/sysctl.conf como raiz.

    
por falconer 13.01.2014 / 13:40