Se você estiver usando bash
, ulimit -n
exibirá apenas o limite flexível. Para obter o limite rígido, você precisa fazer ulimit -Hn
.
No meu sistema, vejo isto:
$ ulimit -n
1024
$ ulimit -Hn
4096
Eu adicionei uma linha em /etc/security/limits.conf
para aumentar o número de arquivos abertos.
* hard nofile 4096
root hard nofile 16384
No entanto, quando executo ulimit -n
, ele informa 1024, que é o valor padrão. Eu fiz um logout e login, mas ainda vejo 1024. Como posso aplicar a alteração?
Alterações feitas pelo comando ulimit
:
$ ulimit -n 4096
$ ulimit -Hn 16384
será aplicado apenas para usuário e sessão atuais. Para torná-lo permanente, você precisa modificar /etc/security/limits.conf
adicionando seus limites:
* soft nofile 4096
* hard nofile 16384
No entanto, o curinga *
não se aplica a root
user. Para fazer isso, você precisa declará-lo 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ê quiser aplicar alterações sem reinicializar , modifique /etc/pam.d/common-session
adicionando esta linha no final do arquivo:
session required pam_limits.so
No próximo login, você deve ver os limites atualizados, você pode verificá-los (limites de hardware e hardware):
$ ulimit -a
$ ulimit -Ha