/proc/sys/fs/* に関する文書 カーネルバージョン 2.2.10 (c) 1998, 1999, Rik van Riel 一般的な情報と法的宣言については、README を見てください。 ================================================================== このファイルには /proc/sys/fs 内の sysctl ファイルに関する文書が 含まれており、Linux カーネルバージョン 2.2 に対して有効です。 このディレクトリ内のファイルは、Linux カーネルのオペレーションに おける種々雑多な全体的事項をチューニングしたりモニタリングしたり するために使用することができます。システムをメチャメチャにしてし まいうるファイルもあるので、実際に調整をおこなう前に、文書および ソースコードの両方を読むことをお勧めします。 現在のところ、次のファイル群が /proc/sys/fs 内にあります。 - dentry-state - dquot-max - dquot-nr - file-max - file-nr - inode-max - inode-nr - inode-state - overflowuid - overflowgid - super-max - super-nr /proc/sys/fs/binfmt_misc 内のファイルに関する文書は Documentation/ binfmt_misc.txt です。 ================================================================== dentry-state: linux/fs/dentry.c より: -------------------------------------------------------------- struct { int nr_dentry; int nr_unused; int age_limit; /* 秒単位のエイジ (age) */ int want_pages; /* システムにより要求されたページ */ int dummy[2]; } dentry_stat = {0, 0, 45, 0,}; -------------------------------------------------------------- dentry は動的に割当てられたり解放されたりするので、nr_dentry は 常に 0 のように見えます。そのため、nr_unused, age_limit, および want_pages のみが使用されていると考えるのが安全です。nr_unused は、まさに名前のとおりのようです。age_limit は、メモリが足りない ときに、その秒数経過後に dcache エントリを回収してもよいという 値を示しています。want_pages は、shrink_dcache_pages() が呼ばれ ており、その dcache 縮小処理が済んでいないときに、ゼロ以外の値 となります。 ================================================================== dquot-max & dquot-nr: dquot-max ファイルは、キャッシュされるディスククォータエントリの 最大数を示しています。 dquot-nr ファイルは、割り当て済みのディスククォータエントリの数と、 空きディスククォータエントリの数を示しています。 もしも、ディスククォータキャッシュエントリの空き数が非常に少なく、 かつ、同時システムユーザ数がひどく多いなら、この上限を引き上げ たいと思われるでしょう。 ================================================================== file-max & file-nr: カーネルは動的にファイルハンドルを割り当てますが、再び解放すること はまだしないようです。 file-max の値は、Linux カーネルが割り当てるファイルハンドルの最大 数を示しています。ファイルハンドルが足りないというエラーメッセージ が大量に出ているのなら、この上限を引き上げたいと思われるでしょう。 file-nr 内の 3 つの値は、割り当てられたファイルハンドルの数、未使 用のファイルハンドルの数、ファイルハンドルの最大数、を示しています。 割り当てられたファイルハンドルの数が最大数に近いが未使用のファイル ハンドルの数が 0 よりもかなり大きいならば、ファイルハンドル使用の ピークでそれだけ使ったということを示しており、最大数を増やす必要は ありません。 ================================================================== inode-max, inode-nr & inode-state: ファイルハンドルと同様で、カーネルは inode 構造体を動的に割り当て ますが、解放することはまだできません。 inode-max 内の値は、inode ハンドラの最大数を示しています。この値 は file-max 内の値よりも 3 〜 4 倍大きくしてください。というのは、 標準入力と標準出力、およびネットワークソケットも、扱うためには inode 構造体が必要となるからです。恒常的に inode が足りなくなる ようなら、この値を増やす必要があります。 inode-nr ファイルには、inode-state の最初の二つのアイテムが含まれ ています。ですので、このファイルについては説明を省略します。 inode-state は 3 つの実際の数値と 4 つのダミー値を含んでいます。 実際の数値は、登場する順番に、nr_inodes, nr_free_inodes, preshrink です。 nr_inodes は、システムで割り当て済みの inode の数をあらわしてい ます。Linux は一度に 1 ページ分いっぱいの inode を割り当てるので、 この値は inode-max より少しだけ多くなりえます。 nr_free_inodes は、空き inode (?) の数をあらわしています。 preshrink は、nr_inodes が inode-max より大きく、かつ、システムに おいて、inode を割り当てるかわりに inode リストを切り詰める必要が ある場合、ゼロ以外の値になります。 ================================================================== overflowgid & overflowuid: Linux では UID と GID は 32 ビットですが、16 ビットの UID と GID しかサポートしないファイルシステムがあります。このようなファイル システムが書込み可能でマウントされると、ディスクに書き込まれる前 に、65535 を超える UID または GID はすべて、固定値に変換されます。 これらの sysctl ファイルで、その固定 UID と GID の値を変更すること ができます。デフォルト値は 65534 です。 ================================================================== super-max & super-nr: これらの数字は、スーパーブロックの最大数、つまり、カーネルがマウ ントし保持できるファイルシステムの最大数を制御します。super-max 内の現在の値で許可されているよりも多くのファイルシステムをマウ ントする必要がある場合は、super-max の値を増やすだけでよいです。 ================================================================== aio-nr & aio-max-nr: aio-nr は、システム全体における現在の非同期入出力の数を示してい ます。aio-max-nr で、aio-nr が増加していくことのできる最大値を 変更することができます。 ================================================================== ------------------------------------------------------------ 翻訳団体: JF プロジェクト < http://www.linux.or.jp/JF/ > 最終更新: 2004/07/29 翻訳者: 川崎 貴彦 校正者: Seiji Kaneko