
を使用して 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 が発生する可能性があります。