5.3.9.5. /proc/sys/vm/
このディレクトリーは、Linux カーネルの仮想メモリー(VM)サブシステムの設定を容易にします。カーネルは、一般的に swap 領域と呼ばれる仮想メモリーの多重でインテリジェントな使用を行います。
以下のファイルは、一般的に
/proc/sys/vm/
ディレクトリーにあります。
block_dump
: ブロック I/O デバッグが有効な場合を設定します。ファイルに実行される読み取り/書き込みおよびブロックのダーティー操作はすべて、それに応じてログに記録されます。これは、ディスクスピンアップおよびラップトップのバッテリー消費のためにスピンダウンする場合に役立ちます。block_dump
が有効な場合には、dmesg からすべての出力を取得できます。デフォルト値は0
です。ヒントblock_dump
がカーネルのデバッグと同時に有効になっている場合は、block_dump
によって生じる誤ったディスクアクティビティーが生成されるため、klogd デーモンを停止するのが prudent になります。dirty_background_ratio
: pdflush デーモンを介して、合計メモリーのこのパーセンテージでダーティーデータのバックグラウンドライトバックを開始します。デフォルト値は 10 です。dirty_expire_centisecs
: ダーティーインメモリーデータが書き込みの対象となるのに十分な古いかどうかを定義します。この間隔よりも長いダーティーインメモリーデータは、次に pdflush デーモンがウェイクアップしたときに書き込まれます。デフォルト値は 3000 で、1 秒の 100 番目の値で表されます。dirty_ratio
: pdflush を使用して、ダーティーデータのジェネレーターの合計メモリーの割合で、ダーティーデータのライトバックを開始します。デフォルト値は 40 です。dirty_writeback_centisecs
: pdflush デーモンのウェイクアップの間隔を定義します。これは、ダーティーインメモリーデータをディスクに定期的に書き込みます。デフォルト値は 500 で、1 秒の 100 番目の値で表されます。laptop_mode
: ディスクを可能な限り停止したままにすることで、ハードディスクをスピンアップする回数を最小限に抑えるため、ノートパソコンのバッテリー電源を節約します。これにより、将来のすべての I/O プロセスを組み合わせてスピンアップの頻度が削減され、効率が向上します。デフォルト値は0
ですが、ラップトップでバッテリーが使用される場合には自動的に有効になります。この値は、ユーザーにバッテリー電源が有効になると、acpid デーモンによって自動的に制御されます。ラップトップが ACPI (Advanced Configuration and Power Interface)仕様をサポートする場合は、ユーザーの変更や対話は必要ありません。詳細は、以下のインストール済みドキュメントを参照してください。/usr/share/doc/kernel-doc-<version>/Documentation/laptop-mode.txt
lower_zone_protection
: カーネルがメモリー割り当ての少ないゾーンを定める方法を決定します。これは、highmem
メモリー領域が有効なマシンで使用される場合に有効です。デフォルト値は0
で、保護はまったくありません。他のすべての整数値はメガバイト単位であるため、低メモリーは
ユーザーによって割り当てられないように保護されます。詳細は、以下のインストール済みドキュメントを参照してください。/usr/share/doc/kernel-doc-<version>/Documentation/filesystems/proc.txt
max_map_count
: プロセスが持つことができるメモリーマップ領域の最大数を設定します。ほとんどの場合、65536
のデフォルト値が適切です。min_free_kbytes
- Linux 仮想マシン(仮想メモリーマネージャー)が最小キロバイト数を解放するように強制します。仮想マシンは、この数を使用して、システム内の低mem
ゾーンごとにpages_min
の値を計算します。デフォルト値は、マシンの合計メモリーに関するものです。nr_hugepages
: カーネルで現在設定されているhugetlb
ページの数を示します。詳細は、以下のインストール済みドキュメントを参照してください。/usr/share/doc/kernel-doc-<version>/Documentation/vm/hugetlbpage.txt
nr_pdflush_threads
: 現在実行している pdflush デーモンの数を示します。このファイルは読み取り専用であるため、ユーザーが変更しないでください。I/O 負荷が大きい場合、カーネルによりデフォルト値の 2 が増加します。overcommit_memory
: 大規模なメモリー要求が許可または拒否される条件を設定します。以下の 3 つのモードを使用できます。- 0: カーネルは、利用可能なメモリー量と無効な要求の失敗要求の量を見積もることで、コミット処理でヒューリスティックメモリーを実行します。ただし、メモリーは正確なアルゴリズムではなくヒューリスティックを使用して割り当てられるため、この設定は、システムで利用可能なメモリーをオーバーロードできることがあります。これはデフォルト設定です。
- 1 - カーネルは、コミット処理でメモリーを実行しません。この設定では、メモリーのオーバーロードの可能性が高まりますが、メモリー集約型タスク(一部のサイエンティックソフトウェアによって実行されるタスクなど)のパフォーマンスになります。
- 2 - すべての swap を追加するメモリーに対する要求に失敗し、
/proc/sys/vm/overcommit_ratio
で指定した物理 RAM のパーセント。この設定は、メモリーのオーバーコミットのリスクが低いユーザーにとって最適です。注記この設定は、物理メモリーよりも大きいスワップ領域があるシステムにのみ推奨されます。
overcommit_ratio
:/proc/sys/vm/overcommit_memory
が 2 に設定されている場合に考慮される物理 RAM の割合を指定します。デフォルト値は 50 です。page-cluster
: 1 回の試行で読み取られるページ数を設定します。実際には 16 ページに関連するデフォルト値の3
は、ほとんどのシステムに適しています。swappiness
: マシンをスワップする容量を決定します。値が高いほど、スワップがより多くなります。パーセンテージとしてデフォルト値が60
に設定されています。
カーネルベースのドキュメントはすべて、ローカルにインストールされている場所にあります。
/usr/share/doc/kernel-doc- <version> /Documentation/
を追加情報が含まれています。