Linux Kernel 2.6 Documentation:
/usr/src/linux/Documentation/sysctl/vm.txt
sysctl/vm.txt
/proc/sys/vm/* に関する文書
[プレインテキスト版]
- 原著作者: Rik van Riel <riel@nl.linux.org>
- 翻訳者: 川崎 貴彦 <takahiko(a)hakubi.co.jp>
- バージョン: 2.6.7
- 翻訳日時: 2004/07/29
/proc/sys/vm/* に関する文書 カーネルバージョン 2.2.10
(c) 1998, 1999, Rik van Riel <riel@nl.linux.org>
一般的な情報と法的宣言については、README を見てください。
==================================================================
このファイルには /proc/sys/vm 内の sysctl ファイルに関する文書が
含まれており、Linux カーネルバージョン 2.2 に対して有効です。
このディレクトリ内のファイル群は、Linux カーネルの仮想メモリサブ
システムの処理と、ダーティデータのディスクへの書出しをチューニング
するために使用できます。
これらのファイル群に対するデフォルト値と初期化ルーチンのほとんど
は、mm/swap.c 内にあります。
現在のところ、下記のファイル群が /proc/sys/vm 以下にあります。
- overcommit_memory
- page-cluster
- dirty_ratio
- dirty_background_ratio
- dirty_expire_centisecs
- dirty_writeback_centisecs
- max_map_count
- min_free_kbytes
==================================================================
dirty_ratio, dirty_background_ratio, dirty_expire_centisecs,
dirty_writeback_centisecs:
Documentation/filesystems/proc.txt を参照してください。
==================================================================
overcommit_memory:
このファイルには、メモリ・オーバーコミットを有効にするフラグが含
まれています。
このフラグが 0 の場合、カーネルは、ユーザ空間からメモリ要求があっ
たときに、残っているフリーメモリの量を評価しようとします。
このフラグが 1 の場合、カーネルは、実際にメモリを使い切るまでは
常に十分なメモリがあるかのように振舞います。
このフラグが 2 の場合、カーネルは、どのようなメモリ・オーバー
コミットも許さないように試みる「厳格なオーバーコミット」ポリシー
を使用します。
「もしものときのために」大量のメモリを malloc() するけれども、
それをほとんど使用しないというプログラムがたくさんあるので、
メモリ・オーバーコミットの機能は非常に役に立ちます。
デフォルトの値は 0 です。
詳細情報については、Documentation/vm/overcommit-accounting 及び
security/commoncap.c::cap_vm_enough_memory() を参照してください。
==================================================================
overcommit_ratio:
overcommit_memory が 2 にセットされているとき、スワップと、物理
RAM にこのパーセンテージを掛けたものとを足した値を、コミットされ
るアドレス空間が越えることは許されません。上記参照してください。
==================================================================
page-cluster:
Linux 仮想メモリサブシステムは、ページフォールト時に複数のページ
を読み込むことにより、過度のディスクシークを回避します。読み込む
ページの数は、マシンのメモリ量に依存します。
カーネルが一度に読み込むページの数は、2 ^ page-cluster と等しく
なります。スワップデータは 32 ページグループ内だけにまとめられて
いるので、2 ^ 5 より大きい値はスワップ用としてはあまり意味があり
ません。
==================================================================
max_map_count:
このファイルには、一つのプロセスが保持することを許されるメモリ
マップ領域の最大数が含まれています。メモリマップ領域は、malloc
呼出しの副作用として、または mmap と mprotect により直接的に、
もしくは共有ライブラリをロードしたときに使用されます。
ほとんどのアプリケーションは 1000 未満のマップ領域しか必要としま
せんが、一方で、特定のプログラム、特に malloc デバッガなどは大量
のマップ領域 (例えば一回の割当てごとに 1 つまたは 2 つのマップ領
域) を消費することがあります。
デフォルト値は 65536 です。
==================================================================
min_free_kbytes:
これは、Linux 仮想メモリサブシステムに最小限のメモリ (キロバイト
単位) をフリーにしておくことを強制するために使用されます。仮想
メモリサブシステムは、システムにおける各低位メモリ領域用の pages_min
の値を計算するために、この数値を使用します。各低位メモリ領域は、
それぞれのサイズに比例した数の予約済みフリーページを取得します。
Linux カーネル 2.6 付属文書一覧へ戻る