/proc/sys/fs/file-maxの最大値

/proc/sys/fs/file-maxの最大値

今日私のサーバーはクラッシュしましたが、Too many open files in system:すでに非常に高い値を持っています。この値の最大値はいくらですか?

私はGoogleがこれについて良い結果を得ていないようです。

私は32 GBのRAMサーバーを持っており、現在10 GBしか使用していません。ファイル制限を非常に高い値に増やすと、RAM使用量が増えると仮定します。これを計算するために使用できる式はありますか? 8GB RAMと同じようにXファイルを開くことはできますか?

現在の設定:

cat /proc/sys/fs/file-max
100000
ulimit -Hn
1048576
ulimit -Sn
1024

ベストアンサー1

Kusalanandaが述べたように、増加はfile-maxメモリ使用量に直接影響を与えませんが、プロセスはより多くのファイル記述子を開くことができ、連鎖効果(カーネル内のファイル記述子を追跡し、メモリ使用量を増やすことの両方)を実現します。カーネル数量)。これらの説明と記述子を使用するプロセス) - カーネルコメントでは、各ファイルが約1KBのカーネルデータになることをお勧めしますfile-max。開始(つまりRAMはわずか80MiBです。カーネルによって課される最大値は、アーキテクチャのC型変数に格納できる最大値ですlong

増加するとfile-max増加する必要がありますinode-maxカーネル文書「stdin、stdout、およびネットワークソケットもこれを処理するにはinode構造が必要なので、file-maxの値より3〜4倍大きくする必要があります。」

クリックすると、file-maxカーネルログメッセージに「VFS:ファイルの最大制限」が表示されます。Nリーチ"、適切な値N。ログにその情報がない場合は、クリックしないか、file-maxログをフィルタリングしすぎています(情報レベルのログメッセージです)。

file-maxプロセスは制限されないため、CAP_SYS_ADMINクリックしてもすべてが停止されるわけではありません。)

おすすめ記事