2000個の同時SSH接続を確立しようとしていますが、サーバーログにエラーメッセージが表示されます(例journalctl
:)。
sshd[1356]: error: reexec socketpair: Too many open files
nofile
inにソフト制限とハード制限を設定しましたが、1,048,000が表示されます/etc/security/limits.conf
。ulimit -n
さらに、Max open files
inは1 048 000で上記の値(すなわち、の値)と一致します/proc/<ssh_pid>/limits
。nofile
ulimit
SSH接続を確立するためにスクリプトを実行したときにlsof | wc -l
数回試しましたが、約260,000の値が表示されましたが、これは開かれたファイルの制限よりはるかに少なくなりました。
だから私の質問は、実際に開かれたファイルの数が制限よりもはるかに少ない場合、「開いたファイルが多すぎます」と文句を言うのはなぜですか?
この質問は似ているようですが、読んだ後に何をすべきかわかりません。 FreeBSD:「あまりにも多くのファイルが開かれました。」ただし、160,000個のファイルをさらに開くことができるはずです。
どんなアイデアにも感謝します!