Linuxの場合-最大オープンファイル数を無制限に設定します。可能?

StackOverflow https://stackoverflow.com/questions/1212925

  •  06-07-2019
  •  | 
  •  

質問

開いているファイルの最大数を<!> quot; infinite <!> quotに設定することは可能ですか?値または数値でなければなりませんか?

デーモンユーザーの記述子制限を<!> quot; unlimited <!> quotに設定する必要がありました。そして、それが可能かどうか、またはそれを行う方法を判断しようとしています。いくつかのメーリングリストが<!> quot; max <!> quot;を参照しているのを見てきました。使用できる値(<!> quot; myuser hard nofile max <!> quot;のようですが、これまでのところ私が相談したmanページとリファレンスはそれをバックアップしません。

「max」などを使用できない場合、ファイルの最大数を(理論的には)決定する方法を知りたいので、選択した数には何らかの根拠があります。上限を取得するためのより合理的な方法がある場合は、100000000などを使用したくありません。

重要な場合はRHEL 5を使用しています。

更新:私は質問を書くことに関してはばかです。理想的には、limits.confファイル(これは<!> quot; max <!> quot;の元になります)で行いたいと思います。それは答えを変えますか?


コメントをありがとう。これはJBOSSインスタンス用であり、私が書いているデーモンではないため、setrlimit()が役立つかどうかはわかりません。しかし、Jefromi-私はInfinityの定義が好きです:)ファイル記述子が<!> quot; 2つのショートとポインタ<!> quot;であることを示唆する投稿を見ました。だから、おおよその上限を計算できるはずです。

役に立ちましたか?

解決

POSIXでは、を使用して、RLIMIT_NOFILEリソース制限をRLIM_INFINITYに設定できます。 setrlimit() 。つまり、システムはこのリソース制限を強制しません。もちろん、実装(例:MAXINT)およびその他のリソース制限(例:利用可能なメモリ)によって制限されます。

更新: RHEL 5には、この制限(NR_OPEN内の/usr/include/linux/fs.h)の最大値1048576(2 20 )があり、それ以上の値は受け入れません。ルートであっても、無限大を含む値。そのため、RHEL 5では、この値を/etc/security/limits.confで使用できます。これは、無限大に近づくのと同じです。

少し前 Linuxカーネルパッチは、この制限を無限に設定できるように適用されましたが、意図しない結果の結果として元に戻された

他のヒント

ラインを試す

<domain>    -

<domain>をユーザー名に置き換える(最も単純な場合)。

limits.conf manページには

-
    for enforcing both soft and hard resource limits together.

    Note, if you specify a type of '-' but neglect to supply the
    item and value fields then the module will never enforce any
    limits on the specified user/group etc. .
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top