Linux コンピューター上のファイル・ハンドル数の拡大

製品の最良のパフォーマンスを得るには、ファイル・ハンドルの数をデフォルトの 1024 ハンドルよりも多くします。
始める前に
重要: 製品を使用して作業する前に、ファイル・ハンドルの数を増やしてください。 製品のほとんどは、プロセスあたりのデフォルトの制限である 1024 よりも多くのファイル・ハンドルを使用します。 この変更は、システム管理者が行わなければならない場合もあります。
このタスクについて
以下のステップを正しく完了するようにしてください。この手順を正しく完了しなければ、コンピューターは始動しません。

Linux® コンピューター上のファイル・ハンドルの数を増やすには、以下のステップを実行します。

  1. root としてログインします。root 権限がない場合は、取得してから続行する必要があります。
  2. etc ディレクトリーに移動します。
    重要: 次のステップでファイル・ハンドルの数を増やすことにした場合は、コンピューター上に空の initscript ファイルを置いておかないでください。 こうすると、コンピューターは次に再始動したときに始動しなくなります。
  3. etc ディレクトリー内の initscript ファイルを、vi エディターを使用して編集します。 このファイルが存在しない場合は、vi initscript と入力して作成してください。
  4. 最初の行に ulimit -n 4096 と入力します。ここでのポイントは、4096 という数は、ほとんどの Linux コンピューターでのデフォルトである 1024 よりもかなり大きいということです。
    重要: ハンドル数の設定値を大きくしすぎないようにしてください。システム全体のパフォーマンスに悪影響を与えるおそれがあります。
  5. 2 行目に eval exec "$4" と入力します。
  6. ステップ 4 および 5 を完了したことを確認してから、ファイルを保存して閉じます。
  7. オプション: etc/security ディレクトリーの limits.conf ファイルを変更することにより、ユーザーまたはグループが使用できるハンドルの数を制限します。 SUSE Linux Enterprise Server (SLES) バージョン 9 と Red Hat Enterprise Linux バージョン 4.0 には、デフォルトでこのファイルがあります。 このファイルがない場合は、前の手順のステップ 4 で小さめの数 (例えば 2048) を使用することを検討してください。 こうするとプロセスあたりの許容オープン・ファイル数は少なくなるものの、この制限はほとんどのユーザーにとっては無理のない数です。 ステップ 4 で小さめの数を使用する場合、ここでの設定はそれほど重要ではありません。 一方、前のステップ 4 で大きな数を設定しながら limits.conf ファイルで制限を設けない場合は、コンピューターのパフォーマンスが著しく低下するおそれがあります。
    次の limits.conf サンプル・ファイルは、まずすべてのユーザーを制限し、その後で他のユーザーに異なる制限を設定しています。 このサンプルは、ステップ 4 でハンドル数を 8192 に設定したものとしています。

    *      soft nofile 1024
    *      hard nofile 2048
    root    soft nofile 4096
    root    hard nofile 8192
    user1   soft nofile 2048
    user1 hard nofile 2048

    この例では、* ですべてのユーザーの制限を最初に設定していることに注目してください。 これらの制限は、後に続く制限よりも小さくなっています。 root ユーザーの許容オープン・ハンドル数は他のユーザーよりも多く、一方 user1 が使用できる数は他の 2 つの間の数です。変更を行う前に、limits.conf ファイルに含まれる資料を読んで理解しておいてください。

フィードバック