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

重要: 最適な結果を得るため には、Rational® 製品を使用して作業する 前に、Rational Performance Tester で使用できるファイル・ハンドルの数を増やしてください。 この製品は、プロセス当たりのデフォルトの上限である 1024 個よりも多くのハンドルを使用するためです。 (この変更はシステム管理者が行う必要があります。)

以下のステップに従って Linux® でファイ ル記述子を増やす際には、慎重に実行してください。指示に正確に従わなかった場合、コンピューターが正しく始動しなくなる可能性があります。 最適な結果を得るためには、システム管理者にこの手順の実行を依頼してください。

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

  1. root としてログインします。root のアクセス権限がない場合は、取得してから継続してください。
  2. etc ディレクトリーに移動する。
  3. vi エディターを使用して etc ディレクトリー内の initscript ファイルを編集する。この ファイルがない場合は、vi initscript と入力して作成してください。

    重要: ファイル・ハンドルの数を増やす場合は、 コンピューター上に空の initscript ファイルを残さないでください。 残した場合、次回電源をオンにしたり再始動した場合に、マシンが始動しなくなります。

  4. 1 行目に「ulimit -n 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 ファイルに 含まれる文書を必ず読んで理解しておいてください。

ulimit コマンドについて詳しくは、ulimit のマニュアル・ページを参照してください。