Linux で開くことができるファイルの数に制限を設定するにはどうすればよいですか?

Linux で開くことができるファイルの数に制限を設定するにはどうすればよいですか?

を使用して Java アプリを実行する予定ですnohup ... &。このようなコマンドには制限を適用する必要があります。

答え1

ほとんどのシステムはパム、そしてpam_limitsモジュールが に基づいて制限を設定するようにします/etc/security/limits.conf。開いているファイルのユーザーごとの制限は と呼ばれますnofile。これはすべてのユーザーまたは特定のユーザーまたはグループに対して設定でき、ユーザーがオーバーライドできる制限 (ソフト制限) とルートのみがオーバーライドできる制限 (ハード制限) を設定できます。ドキュメンテーション詳細はmanlimits.confページに記載されています。たとえば、全員の制限を 50000 に上げるには、次の行を追加します/etc/limits.conf(設定はログイン時に有効になります)。

* - nofile 50000

答え2

fs.file-max = <your number>に追加できます/etc/sysctl.conf。その後再起動します。

答え3

ulimit -n

プロセス設定ごとに変更でき、

/proc/sys/fs/file-max

またはsysctl変数をfs.file-max使用してシステム全体の値を読み取り、設定することができます。

答え4

プログラム インスタンスごとに ulimit(Bash コマンド - man bash またはシェルの同様のコマンドを参照) を使用します。何をしているのかわからない場合は、グローバル システム制限を使用しないでください。DoS が発生する可能性があります。

関連情報