limites que são definidos em um ambiente não modificado

6

Se /etc/security/limits.conf não tiver sido editado ou alterado, não haverá nada além de comentários. No entanto, 'cat / proc / self / limits' mostra que existem alguns limites em vigor. Eles são compilados no kernel? Se não onde o sistema obtém os limites padrão iniciais em um ambiente não modificado?

[~]$ cat /proc/self/limits
Limit                     Soft Limit           Hard Limit           Units     
Max cpu time              unlimited            unlimited            seconds   
Max file size             unlimited            unlimited            bytes     
Max data size             unlimited            unlimited            bytes     
Max stack size            10485760             unlimited            bytes     
Max core file size        0                    unlimited            bytes     
Max resident set          unlimited            unlimited            bytes     
Max processes             1024                 60413                processes 
Max open files            1024                 4096                 files     
Max locked memory         65536                65536                bytes     
Max address space         unlimited            unlimited            bytes     
Max file locks            unlimited            unlimited            locks     
Max pending signals       60413                60413                signals   
Max msgqueue size         819200               819200               bytes     
Max nice priority         0                    0                    
Max realtime priority     0                    0                    
Max realtime timeout      unlimited            unlimited            us        
    
por user25849 09.08.2013 / 20:02

1 resposta

2

Você provavelmente deve verificar a resposta mais votada em: link

UPDATE: Conforme sugerido, copie / cole as informações do outro site:

Estes limites "padrão" são aplicados por:

  • o kernel do Linux no tempo de inicialização (para o processo init ),
  • herança , dos limites do processo pai (em fork(2) time),
  • PAM quando a sessão do usuário é aberta (pode substituir o kernel / valores herdados),
  • o próprio processo (pode substituir valores herdados do PAM e do kernel / herdados, consulte setrlimit(2) ).

Os processos dos usuários normais não podem aumentar os limites.

O kernel do Linux

No momento da inicialização, o Linux define limites padrão para o processo init , que são então herdados por todos os outros processos (filhos). Para ver este limite: grep process /proc/1/limits .

Por exemplo, o padrão do kernel para número máximo de descritores de arquivos ( ulimit -n ) era 1024/1024 (soft, hard) e foi aumentado para 1024/4096 no Linux 2.6.39.

O número máximo de processos que você está falando está limitado a aproximadamente:

Total RAM in kB / 128

para arquiteturas x86 (pelo menos), mas as distribuições às vezes alteram os valores padrão do kernel, então verifique seu código-fonte do kernel para kernel/fork.c , fork_init() . O limite de "número de processos" é chamado RLIMIT_NPROC.

PAM

Geralmente, para garantir a autenticação do usuário no login, o PAM é usado junto com alguns módulos (consulte /etc/pam.d/login ).

No Debian, o módulo PAM responsável por definir limites está aqui: /lib/security/pam_limits.so .

Esta biblioteca lerá sua configuração a partir de limits.conf e limits.d/*.conf , mas mesmo que esses arquivos estejam vazios, pam_limits.so poderá usar valores codificados que você pode verificar dentro do código-fonte.

Por exemplo, no Debian, a biblioteca foi corrigida para que, por padrão, o número máximo de processos ( nproc ) seja ilimitado, e o número máximo de arquivos ( nofile ) seja 1024 / 1024:

  case RLIMIT_NOFILE:
      pl->limits[i].limit.rlim_cur = 1024;
      pl->limits[i].limit.rlim_max = 1024;

Então, verifique o código-fonte do módulo PAM do CentOS (procure por RLIMIT_NPROC).

No entanto, observe que muitos processos não passarão pelo PAM (geralmente, se eles não forem iniciados por um usuário logado, como daemons e talvez trabalhos agendados).

    
por 09.08.2013 / 21:34

Tags