Linux ワークステーション上のファイル・ハンドル数を増やす

製品のパフォーマンスを最良にするには、ファイル・ハンドルの数を 増やしてデフォルトの 1024 ハンドルより大きくします。

始める前に

root アクセス権限があることを確認してください。ファイル・ハンドル制限 を変更するには、管理者でなければならない可能性があります。

このタスクについて

重要: 製品の作業をする前に、ファイル・ハンドルの数を 増やしてください。大部分の IBM® Rational® 製品では、 プロセスごとのデフォルトの制限である 1024 個を超えるファイル・ハンドルを使用します。

Linux でファイル記述子を増やす場合は、注意深く作業してください。正しい手順に 従わない場合、コンピューターが正しく始動されないおそれがあります。

手順

  1. root としてログインします。
  2. etc ディレクトリーにディレクトリーを変更します。
    重要: 次のステップでファイル・ハンドルの数を増やすとき、 空の initscript ファイルをコンピューターに残さない で ください。残した場合、コンピューターは、電源切断後に始動しなくなります。
  3. vi エディターを使用して、etc ディレクトリーに ある initscript ファイルを編集します。このファイルが存在しない 場合は、vi initscript と入力して、作成してください。
  4. 制限に 4096 を設定します。先頭の行で ulimit -n 4096 を入力します。
    重要: 大きすぎる値をハンドル数に設定しないでください。 大きくしすぎると、システム全体のパフォーマンスに対してマイナスの影響が生じる おそれがあります。
  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 で比較的小さい数を使用した場合、limits.conf ファイルの変更は、それほど重要ではありません。 一方、ステップ 4 で大きい数を設定しながら limits.conf ファイル で制限を設定していない場合は、コンピューターのパフォーマンスが低下するおそれが あります。

次の limits.conf ファイルの例では、 すべてのユーザーの制限を指定してから、すべてのユーザー以外に対する異なる制限を 設定しています。この例では、 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 が使用できる数は、この大きい数と小さい数の中間です。 limits.conf ファイルを変更する前に、 そのファイルに含まれている文書を必ず読んで理解してください。

フィードバック