Linuxで開かれたファイルの数が制限されるのはなぜですか?

Linuxで開かれたファイルの数が制限されるのはなぜですか?

今、私は次の方法を知っています。

  • プロセスごとに開かれたファイル制限を見つけます。ulimit -n
  • すべてのプロセスで開かれたファイルの数を計算します。lsof | wc -l
  • 許可される開いているファイルの最大数を取得します。cat /proc/sys/fs/file-max

私の質問は:Linuxでファイルを開くにはなぜ制限がありますか?

ベストアンサー1

その理由は、オペレーティングシステムが開いている各ファイルを管理するためにメモリが必要であり、メモリは限られたリソースであるためです。特に組み込みシステムではさらにそうです。

ulimit -nルートとして、プロセスあたり(経由)およびシステムあたり(たとえば)最大開かれたファイル数を変更できますecho 800000 > /proc/sys/fs/file-max

おすすめ記事