mudanças no /etc/security/limits.conf requerem uma reinicialização?

131

as alterações em /etc/security/limits.conf exigem uma reinicialização antes de entrar em vigor?

Como se eu tivesse um script que define os seguintes limites em /etc/security/limits.conf , isso requer que eu reinicie o sistema antes que esses limites entrem em vigor?

* hard nofile 94000
* soft nofile 94000
* hard noproc 64000
* soft noproc 64000
    
por Alexej Magura 09.01.2014 / 19:51

5 respostas

98

Não, mas você deve fechar todas as janelas de sessões ativas. Eles ainda se lembram dos valores antigos. Em outras palavras, saia e volte. Cada nova sessão remota ou um shell seguro local tem efeito das alterações limites .

    
por 09.01.2014 / 20:02
29

Aplique as alterações diretamente em um processo em execução se você tiver o prlimit instalado (vem com o util-linux-2.21)

prlimit --pid <pid> --<limit>=<soft>:<hard>

por exemplo

prlimit --pid 12345 --nofile=1024:2048

Consulte aqui

    
por 06.04.2015 / 12:21
28

Para definir temporariamente o limite de arquivos abertos para o usuário no qual você está conectado atualmente (por exemplo, 'root'): Você também pode usar o comando ulimit para alterar os valores no seu shell atual. No entanto, limites rígidos só podem ser ajustados para baixo, a menos que você seja root.

Exemplo:

# 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) 62449
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) 10240
cpu time               (seconds, -t) unlimited
max user processes              (-u) 1024
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

Para alterar o nofile para 94000 , você pode fazer:

ulimit -n 94000
    
por 10.01.2014 / 09:44
14

Os limites são herdados de um processo pai para seus processos filhos. Processos em execução como root podem alterar os limites arbitrariamente; outros processos não podem aumentar os limites rígidos. Assim, os limites rígidos definidos pelo processo de login afetam todos os processos em uma sessão.

Se você alterar /etc/security/limits.conf , isso afetará todas as novas sessões e os processos nessas novas sessões. Isso não afetará os processos que já estão em execução nem os processos iniciados pelos processos que já estão em execução.

Portanto, se você precisar aumentar alguns limites, será necessário fazer logout e voltar ou iniciar outra sessão (por exemplo, com ssh localhost ou em outro console).

    
por 10.01.2014 / 03:29
4

Para citar @ resposta da Tombart

These limits will be applied after reboot.

If you want to apply changes without reboot, modify /etc/pam.d/common-session by adding this line at the end of file:

session required pam_limits.so
    
por 05.07.2016 / 18:04

Tags