GNU/Linux >> Linux の 問題 >  >> Linux

作業プロセスの最大オープン ファイル

echo -n "Max open files=20:20" > /proc/$pid/limits

...RHEL5.5 および RHEL6.7 で動作します。

「-n」は必須であることに注意してください。末尾の改行は、無効な引数に関する苦情を生成します。


もう 1 つのオプションは、prlimit コマンド (util-linux パッケージから) を使用することです。たとえば、実行中のプロセスで開くファイルの最大数を 4096 に設定する場合:

<ブロック引用>

prlimit -n4096 -p pid_of_process


gdb を使用し、プロセスに割り込んで、前述の syscalls を呼び出して、関心のある制限を引き上げてから、ジョブを続行して gdb を終了することができます。私はこの方法で何度かその場で編集しました.

アプリがダウンすることはありませんが、通話を実行している間だけフリーズします。素早い (またはスクリプトを作成する) 場合は、おそらく目立たないでしょう。


システム管理者として :/etc/security/limits.conf ファイルは、ほとんどの Linux インストールでこれを制御します。ユーザーごとの制限を設定できます。 myuser - nofile 1000 のような行が必要になります .

プロセス内 :getrlimit および setrlimit 呼び出しは、ほとんどのプロセスごとのリソース割り当て制限を制御します。 RLIMIT_NOFILE ファイル記述子の最大数を制御します。呼び出すには適切な権限が必要です。


Linux
  1. 同じが実行されている場合はプロセスを確認しますか?

  2. SshfsにマウントされたファイルシステムにUmaskを設定しますか?

  3. sysctl でプロセスごとの最大オープン ファイル数を変更できない

  1. プロセスがファイルを書き込めないようにする方法

  2. Debian で開いているファイルが多すぎる

  3. プロセスが開いているファイルを確認するにはどうすればよいですか?

  1. 効果的なプロセス管理のための8つのLinuxコマンド

  2. Linuxで開くファイルの数の制限を増やす方法

  3. 一時データの疑似ファイル?