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

製品の最良のパフォーマンスを得るために、ファイル・ハンドルの数をデフォルト設定の 1024 ハンドルよりも増やします。

このタスクについて

重要: Rational® 製品を使用して作業する前に、ファイル・ハンドルの数を増やしてください。 ほとんどの Rational 製品は、プロセスごとにデフォルトの上限である 1024 個より多くのファイル・ハンドルを使用します。 この変更はシステム管理者が行う必要があります。

以下のステップに従って Linux でファイ ル記述子を増やす際には、慎重に実行してください。 説明どおりに正しく行わない場合、コンピューターが正常に始動しない可能性があります。

手順

ファイル記述子の数を増やすには、以下のようにします。

  1. root としてログインします。 root のアクセス権限がない場合は、取得してから継続してください。
  2. etc ディレクトリーに移動します。
    重要: 次のステップでファイル・ハンドルの数を増やす場合は、 コンピューター上に空の initscript ファイルを残さない でください。 残した場合、次回電源をオンにしたり再始動した場合に、コンピューターが始動しなくなります。
  3. vi エディターを使用して etc ディレクトリー内の initscript ファイルを編集する。 この ファイルがない場合は、vi initscript と入力して作成してください。
  4. 1 行目に ulimit -n 30000 と入力する。 ここで重要なのは、30000 という値がほとんどの 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 ファイルに含まれている資料を必ず読んで理解しておいてください。

次のタスク

ulimit コマンドについて詳しくは、Linux の資料で ulimit のメインページを参照してください。

フィードバック