【linux】開けるファイル数の上限値(ファイルハンドル、ファイルディスクプリタ)
ファイルディスクリプタはオープンしたファイルに割り当てられた識別子
ファイルハンドルはファイルを開く際にメモリ上に確保されるエリア
/proc/sys/fs/file-max、/proc/sys/fs/file-nr で表示されるのはOS全体の値。
- /proc/sys/fs/file-max
- オープン可能なファイル数の上限を確認でる。
値の変更を行うことも可能。 - /proc/sys/fs/file-nr
-
次の3つの情報を確認することが可能です。
1. 今までにオープンしたことのあるファイルの最大数
(割り当て済みのファイルハンドル数 )
2. 現在オープンしているファイルの総数
(使用中のファイルハンドル数 )
3. オープン可能なファイル数の上限
(/proc/sys/fs/file-max と同じ値)
リミットに引っかかりそうになるのは、1つのプロセスでの上限値。
ulimitコマンドで確認できる。
ulimit -a
たとえば、apacheでバーチャルホストを500個ぐらい設定して、アクセスログとエラーログ用に2つファイルを捕まえると、開いたファイルが1000個になり、リミット近くまで消費する。
コメント