modificar e aplicar limits.conf sem reiniciar


15

Eu adicionei uma linha /etc/security/limits.confpara aumentar o número de arquivos abertos.

*    hard nofile 4096
root hard nofile 16384

No entanto, quando eu executo ulimit -n, diz 1024, que é o valor padrão. Fiz o logout e o login, mas ainda vejo 1024. Como posso aplicar a alteração?

Respostas:


8

Se você estiver usando bash, ulimit -nexibirá apenas o limite flexível. Para obter o limite rígido, você precisa fazer ulimit -Hn.

No meu sistema, vejo o seguinte:

$ ulimit -n
1024
$ ulimit -Hn
4096

16

Alterações feitas por ulimitcomando:

$ ulimit -n 4096
$ ulimit -Hn 16384

se aplicará apenas ao usuário e sessão atuais. Para torná-lo permanente, você deve modificar /etc/security/limits.confadicionando seus limites:

* soft nofile 4096
* hard nofile 16384

No entanto, o curinga *não se aplica ao rootusuário. Para fazer isso, você deve declarar explicitamente:

* soft nofile 4096
* hard nofile 16384
root soft nofile 4096
root hard nofile 16384

Esses limites serão aplicados após a reinicialização .

Se você deseja aplicar alterações sem reinicializar , modifique /etc/pam.d/common-sessionadicionando esta linha no final do arquivo:

session required pam_limits.so

No próximo login, você deverá ver os limites atualizados, pode verificá-los (limites flexíveis e rígidos):

$ ulimit -a
$ ulimit -Ha

2
Eu tive um problema com essa abordagem que era realmente estranha. Estou usando o Ubuntu 14 e habilitado pam_limits.sono /etc/pam.d/common-session. I se configurado no /etc/security/limits.confutilizador x ter limites rígidos e macios para nofile64000. sudo -u xentão ulimit -ame mostra que as alterações não foram aplicados. Percebi isso sue sudotenho configurações diferentes de pam. Para fazê-lo funcionar corretamente, eu precisava habilitar o pam_limits.soin /etc/pam.d/common-session-noninteractive. Se você está se perguntando qual é o caso de uso - eu uso ansible e sudo para alterar o usuário.
hahcho

1
Por alguma razão, tive que adicioná-lo /etc/pam.d/common-session-noninteractivepara que funcionasse.
Sumit
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.