Eu estava tentando configurar 2000 conexões ssh simultâneas, mas recebi a mensagem de erro no log do servidor (por exemplo, journalctl
):
sshd[1356]: error: reexec socketpair: Too many open files
Defina o limite mínimo e máximo para nofile
em /etc/security/limits.conf
e ulimit -n
me dá 1 048 000.
Além disso, Max open files
em /proc/<ssh_pid>/limits
é 1 048 000, o que é consistente com o valor de nofile
mencionado acima (ou seja, o valor para ulimit
).
Quando meu script para configurar conexões ssh estava em execução, tentei lsof | wc -l
várias vezes e os valores que ele me deu foram em torno de 260 000, o que é muito menos do que o limite de arquivos abertos.
Então, minha pergunta é por que ele reclama de "Muitos arquivos abertos" quando o número real de arquivos abertos está muito abaixo do limite?
Essa pergunta parece semelhante, mas ainda não sei o que fazer depois de lê-la: FreeBSD: "Muitos arquivos abertos", mas deve ser capaz de abrir outros 160.000 arquivos
Qualquer ideia é apreciada!
Tags ssh sshd ulimit open-files