Linux ワークステーションでのファイル・ハンドルの数の増加

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

このタスクについて

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

Linux® 上で以下の手順を使用してファイル記述子を増やす場合は、注意が必要です。手順に正しく従わないと、コンピューターが正常に開始しないことがあります。

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

手順

  1. root としてログインします。root アクセス権限を持っていない場合は、続行する前にその権限を取得する必要があります。
  2. etc ディレクトリーに移動します。
    重要: 次のステップでファイル・ハンドルの数を増やす場合は、コンピューター上に空の initscript ファイルを残さないでください。 空の initscript ファイルを残すと、次回、コンピューターをオンにするか再始動しても、コンピューターは開始しません。
  3. vi エディターを使用して etc ディレクトリー内の initscript ファイルを編集します。このファイルが存在していない場合は、vi initscript と入力してこのファイルを作成してください。
  4. 最初の行に 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 コマンドについて詳しくは、ulimit のマニュアル・ページを参照してください。

フィードバック