Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

E.3.9. /proc/sys/

/proc/sys/ ディレクトリは、システムに関する情報を提供するだけでなく、システム管理者がカーネル機能を即時に有効化または無効化できるようするので、/proc/ 内のその他のディレクトリとは異なります。

警告

/proc/sys/ ディレクトリ内のファイルを使用して、実稼働システムの設定を変更する場合には、慎重に行って下さい。設定を誤って変更すると、カーネルが不安定な状態となり、システムの再起動が必要となる場合があります。
このため、/proc/sys/ 内の値の変更を試みる前には、そのファイルでオプションが有効であることを確認するようにして下さい。
特定のファイルが設定可能か、情報提供専用に設計されているかを判断するには、シェルプロンプトで -l オプションを使用して一覧表示すると簡単に確認することができます。ファイルが書き込み可能の場合には、カーネルの設定に使用することができます。以下は /proc/sys/fs の一覧の一部です:
-r--r--r--    1 root     root            0 May 10 16:14 dentry-state
-rw-r--r--    1 root     root            0 May 10 16:14 dir-notify-enable
-rw-r--r--    1 root     root            0 May 10 16:14 file-max
-r--r--r--    1 root     root            0 May 10 16:14 file-nr
上記の一覧では、dir-notify-enable 及び file-max のファイルは書き込み可能なので、カーネルの設定に使用できることになります。その他のファイルは、現在の設定についてのフィードバックを提供するのみです。
/proc/sys/ ファイル内の値は、そのファイルに新たな値を echo することによって変更することができます。例えば、実行中のカーネルでシステム要求キーを有効にするには、以下のコマンドを入力します:
echo 1 > /proc/sys/kernel/sysrq
このコマンドにより、sysrq の値が 0 (off) から 1 (on) に変更されます。
/proc/sys/ の設定ファイルには、複数の値が記載されているファイルがいくつかあります。そのようなファイルに新たな値を適正に送信するには、以下の例に示したように、echo コマンドで渡す各値の間に空白を入れて下さい:
echo 4 2 45 > /proc/sys/kernel/acct

注記

echo コマンドを使用して変更した設定はいずれも、システムの再起動後には無効となります。システムの再起動後にも設定の変更が有効となるようにするには、 「sysctl コマンドの使用」 を参照して下さい。
/proc/sys/ ディレクトリには、実行中のカーネルの異なる側面を制御する複数のサブディレクトリが格納されています。

E.3.9.1. /proc/sys/dev/

このディレクトリは、システム上の特定のデバイス用のパラメーターを提供します。大半のシステムには、少なくとも cdrom/raid/ の 2 つのディレクトリがあります。カスタマイズされたカーネルには、parport/ などのその他のディレクトリがあり、これにより複数のデバイスドライバー間で単一のパラレルポートを共有する機能が提供されます。
cdrom/ ディレクトリには、info という名前のファイルが格納されており、数多くの重要な CD-ROM パラメーターが記載されています:
CD-ROM information, Id: cdrom.c 3.20 2003/12/17
drive name:             hdc
drive speed:            48
drive # of slots:       1
Can close tray:         1
Can open tray:          1
Can lock tray:          1
Can change speed:       1
Can select disk:        0
Can read multisession:  1
Can read MCN:           1
Reports media changed:  1
Can play audio:         1
Can write CD-R:         0
Can write CD-RW:        0
Can read DVD:           0
Can write DVD-R:        0
Can write DVD-RAM:      0
Can read MRW:           0
Can write MRW:          0
Can write RAM:          0
このファイルをチェックすることにより、未知の CD-ROM の性質を迅速に確認することができます。システム上で複数の CD-ROM が使用可能の場合には、 デバイスごとの情報カラムが提供されます。
autoclosecheckmedia など、/proc/sys/dev/cdrom の様々なファイルを使用して、システムの CD-ROM を制御することができます。これらの機能を有効化/無効化するには、echo コマンドを使用して下さい。
RAID サポートがカーネルにコンパイルされている場合は、/proc/sys/dev/raid/ ディレクトリが使用可能となり、少なくとも speed_limit_minspeed_limit_max の 2 つのファイルが格納されます。これらの設定は、ディスクの再同期のような I/O 集約型タスクを対象とする RAID デバイスのアクセラレーションが決定します。

E.3.9.2. /proc/sys/fs/

このディレクトリには、クォータ、ファイルハンドル、inode、dentry などを含む、ファイルシステムの様々な側面に関する一連のオプションと情報が格納されています。
binfmt_misc/ ディレクトリは、カーネルにその他のバイナリ形式のサポートを提供します。
/proc/sys/fs/ 内の重要なファイルには以下のようなファイルが含まれます:
  • dentry-state — ディレクトリキャッシュのステータスを提供します。以下は、このファイルの出力例です:
    57411	52939	45	0	0	0
    
    第 1 の値は、ディレクトリキャッシュエントリの合計数、第 2 の値は未使用のエントリ数を示しています。第 3 の値はディレクトリが解放されてから、再構築可能となるまでの時間を秒数で示しています。第 4 の値は、システムによって現在要求されているページ数の測定値です。最後の 2 つの値は未使用で、必ずゼロと表示されます。
  • file-max — カーネルが割り当てるファイルハンドルの最大数を一覧表示します。このファイルで設定値を高くすると、使用可能なファイルハンドルが欠如しているために発生するエラーを解決することができます
  • file-nr — 割り当て済みファイルハンドル、使用済みファイルハンドル、及びファイルハンドルの最大数を一覧表示します。
  • overflowgid 及び overflowuid — 16 ビットのグループ/ユーザー ID のみをサポートしているシステムで使用するための固定のグループ ID 及びユーザー ID をそれぞれ定義します。

E.3.9.3. /proc/sys/kernel/

このディレクトリには、カーネルの操作に直接影響を及ぼす、様々な異なる設定ファイルが格納されています。最も重要なファイルには、以下のようなファイルがあります:
  • acct — ログを格納するファイルシステム上での空き容量に基づいて、プロセスアカウンティングの中断を制御します。このファイルの内容は、デフォルトでは以下のようになります:
    4	2	30
    
    第 1 の値は、ロギングを再開するために必要な空き容量、第 2 の値はロギングが中断されている場合の空き容量の割合の閾値を示しています。第 3 の値は、ロギングを中断すべきか、再開すべきかを判断するためにカーネルがファイルシステムをポーリングする間隔を秒数で表しています。
  • ctrl-alt-delCtrl+Alt+Delete で、init (0) を使用してコンピューターを正常にを再起動するか、ダーティバッファをディスクに同期せずに即再起動を強制するかを制御します。
  • domainname — システムのドメイン名 (例: example.com) を設定します。
  • exec-shield — カーネルの Exec Shield 機能を設定します。Exec Shield は、特定のバッファオーバーフロー攻撃に対する保護を提供します。
    この仮想ファイルの取り得る値は 2 つあります:
    • 0 — Exec Shield を無効にします。
    • 1 — Exec Shield を有効にします。これはデフォルト値です。

    重要

    Exec Shield が無効の状態で起動された機密性の高いアプリケーションをシステムが実行している場合には、それらのアプリケーションは、Exec Shield を有効化する際に再起動して、Exec Shield が適用されるようにする必要があります。
  • hostname — システムのホスト名 (例: www.example.com) を設定します。
  • hotplug —システムによって設定の変更が検出された場合に使用されるユーティリティを設定します。これは、主にUSB と Cardbus PCI で使用されます。新たなプログラムがこの役割を果たすことをテストせずに /sbin/hotplug のデフォルト値を変更すべきではありません。
  • modprobe — カーネルモジュールのロードに使用するプログラムの場所を設定します。デフォルト値は /sbin/modprobe です。これは、カーネルスレッドが kmod を呼び出した際に kmod がそのプログラムを呼び出して、モジュールをロードすることを意味します。
  • msgmax — 1 つのプロセスから別のプロセスへ送られるメッセージの最大サイズを設定します。デフォルトでは 8192 バイトに設定されます。プロセス間の待ち行列にあるメッセージは、スワップ不可能なカーネルメモリに格納されるので、この値を高くする際には、注意して下さい。msgmax の値を高くすると、システムの RAM 要件が高くなります。
  • msgmnb — 単一のメッセージキュー内の最大バイト数を設定します。デフォルトは 16384 です。
  • msgmni — メッセージキュー識別子の最大数を設定します。デフォルトは 4008 です。
  • osrelease — Linux カーネルのリリース番号を表示します。このファイルは、カーネルのソースと再コンパイルを変更することによってのみ変更可能です。
  • ostype — オペレーティングシステムのタイプを表示します。デフォルトでは、このファイルは Linux に設定されており、この値は、カーネルのソースと再コンパイルを変更することによってのみ変更可能です。
  • overflowgid 及び overflowuid — 16 ビットのグループ/ユーザー ID のみをサポートしているアーキテクチャのシステムコールで使用するための固定のグループ ID とユーザー ID をそれぞれ定義します。
  • panic — システムでカーネルパニックが発生した際に、カーネルが再起動を延期する時間を秒数で定義します。この値は、デフォルトでは 0 に設定されており、パニック後の自動再起動が無効になっています。
  • printk — このファイルは、エラーメッセージの出力またはロギングに関する様々な設定を制御します。カーネルによってレポートされる各エラーメッセージには、そのメッセージの重要度を定義する loglevel が関連付けされます。loglevel の値は、以下のような順序で細分化されます:
    • 0 — カーネルの緊急事態。システムは使用できません。
    • 1 — カーネルアラート。直ちに措置を取る必要があります。
    • 2 — カーネルの状態がクリティカルとみなされます。
    • 3 — 一般的なカーネルエラーの状態。
    • 4 — 一般的なカーネル警告の状態。
    • 5 — 正常ではあるが有意な状態であるというカーネル通知。
    • 6 — カーネルの情報メッセージ。
    • 7 — カーネルデバッグレベルメッセージ
    printk ファイルには、以下のような 4 つの値が記載されています:
    6     4     1     7
    
    これらの各値は、エラーメッセージへの対応の異なるルールをを定義します。第 1 の値は、console loglevel と呼ばれ、コンソールに出力されるメッセージの最も低い優先度を定義します (優先度が低いほど、ログレベルの数値が高くなることに注意して下さい)。第 2 の値は、明示的なログレベルが付いていないメッセージのデフォルトのログレベルを設定します。第 3 の値は、コンソールログレベルのログレベル設定の取り得る最低値を設定します。最後の値は、コンソールログレベルのデフォルト値を設定します。
  • random/ ディレクトリ — カーネルの乱数生成に関連した複数の値を一覧表示します。
  • sem — カーネル内の セマフォ 設定値を設定します。セマフォとは、System V IPC オブジェクトで、特定のプロセスの使用率を制御する目的で使用されます。
  • shmall — システム上で一度に使用可能な共有メモリ容量の合計をバイト単位で設定します。デフォルトでは、この値は 2097152 です。
  • shmmax — カーネルによって許可される最大の共有メモリセグメントサイズを設定します。デフォルトでは、この値は 33554432 です。但し、カーネルはこれよりもはるかに大きな値に対応しています。
  • shmmni — システム全体の共有メモリセグメントの最大数を設定します。デフォルトでは、この値は 4096 です。
  • sysrq — デフォルト値のゼロ (0) 以外の値に設定されている場合には、システム要求キーをアクティベートします。
    システム要求キーは、簡単なキーの組み合わせを使用したカーネルへの即時入力を可能にします。例えば、システム要求キーは、システムを即時にシャットダウンまたは再起動したり、マウントされているファイルシステムをすべて同期したり、重要な情報をコンソールにダンプするのに使用することができます。システム要求キーを開始するには、Alt+SysRq+ system request code を入力します。system request code は、以下のシステム要求コードのいずれかに置き換えて下さい:
    • r — キーボードの raw モードを無効にし、XLATE (すべてのキーで AltCtrlShift などの修飾キーを認識しない限定されたキーボードモード) に設定します。
    • k — 仮想コンソールでアクティブなプロセスをすべて強制終了します。これは、Secure Access Key (SAK) とも呼ばれ、ログインプロンプトが init から発生したもので、ユーザー名とパスワードをキャプチャーするように設計されたトロイの木馬のコピーではないことを検証します。
    • b — ファイルシステムのアンマウントやシステムに接続されたディスクの同期を最初に行わずにカーネルを再起動します。
    • c — ファイルシステムのアンマウントやシステムに接続されたディスクの同期を最初に行わずにシステムをクラッシュさせます。
    • o — システムをシャットオフします。
    • s — システムに接続されたディスクの同期を試みます。
    • u — 全ファイルシステムのアンマウントと、読み取り専用としての再マウントを試みます。
    • p — 全フラグを出力し、コンソールを登録します。
    • t — プロセスの一覧をコンソールに出力します。
    • m — メモリの統計をコンソールに出力します。
    • 0 から 9 まで — コンソールのログレベルを設定します。
    • e — SIGTERM を使用する init 以外のプロセスをすべて強制終了します。
    • i — SIGKILL を使用する init 以外の全プロセスを強制終了します。
    • l — SIGKILL を使用する全プロセス (init を含む) を強制終了します。このシステム要求キーを発行した後には、システムは使用できなくなります。
    • h — ヘルプテキストを表示します。
    この機能は、開発カーネルを使用する場合、もしくはシステムがフリーズした場合に最も役立ちます。

    警告

    コンソールが無人状態にあると、攻撃者によるシステム侵入が可能となるため、システム要求キー機能はセキュリティリスクと見なされます。このため、この機能はデフォルトではオフになっています。
    システム要求キーに関する詳しい情報は、/usr/share/doc/kernel-doc-kernel_version/Documentation/sysrq.txt を参照して下さい。
  • tainted —非 GPL モジュールがロードされているかどうかを示します。
    • 0 — 非 GPL モジュールはロードされていません。
    • 1 — GPL ライセンスのないモジュール (ライセンスのないモジュールを含む) が少なくとも 1 つロードされています。
    • 2 — 少なくとも 1 つのモジュールが insmod -f コマンドで強制ロードされています。
  • threads-max — カーネルによって使用されるスレッドの最大数を設定します。デフォルト値は 2048 です。
  • version — カーネルが最後にコンパイルされた日付と時刻を表示します。このファイルの第 1 のフィールド (例: #3) は、ソースベースからカーネルがビルドされた回数に関連しています。

E.3.9.4. /proc/sys/net/

このディレクトリには、様々なネットワークトピックに関するサブディレクトリが格納されています。カーネルのコンパイル時には、様々な設定により、ethernet/ipv4/ipx/ipv6/ などの異なるディレクトリがここに作成されます。システム管理者は、これらのディレクトリ内のファイルを変更して、稼働中のシステムのネットワーク設定を調整することができます。
Linux では多種多様なネットワーキングオプションが使用可能であることを考慮し、ここでは最も一般的な /proc/sys/net/ ディレクトリのみについて説明します。
/proc/sys/net/core/ ディレクトリには、カーネルとネットワーキング層の間のインタラクションを制御する様々な設定が格納されています。それらの中で最も重要なのは、以下にあげるファイルです:
  • message_burst — 新たな警告メッセージを書き込むのに必要な時間を 1/10 秒単位で設定します。この設定は、サービス拒否 (DoS) 攻撃を軽減するのに使用します。デフォルトの設定値は 10 です。
  • message_cost — すべての警告メッセージに対してコストを設定します。このファイルの値 (デフォルト値は 5) が高いほど、警告メッセージが無視される可能性が高くなります。この設定は、DoS 攻撃を軽減するのに使用されます。
    DoS 攻撃の概念は、エラーを生成する要求を利用して、ディスクパーティションをログファイルで満杯にしたり、システムの全リソースがエラーロギングに対応しなければならない状態して、ターゲットシステムを攻撃することです。message_burst 及び message_cost の設定は、包括的なロギングの必要性に対するシステムの許容リスクに基づいて、変更されるように設計されています。
  • netdev_max_backlog — 特定のインターフェースが、カーネルの処理可能速度よりも高速にパケットを受信した場合に待ち行列に入れることができるパケットの最大数を設定します。このファイルのデフォルト値は 1000 です。
  • optmem_max — 1 ソケットあたりで許可される、最大の補助バッファーサイズを設定します。
  • rmem_default — 受信ソケットバッファーのデフォルトサイズをバイト単位で設定します。
  • rmem_max — 受信ソケットバッファーの最大サイズをバイト単位で設定します。
  • wmem_default — 送信ソケットバッファーのデフォルトサイズをバイト単位で設定します。
  • wmem_max — 送信ソケットバッファーの最大サイズをバイト単位で設定します。
/proc/sys/net/ipv4/ ディレクトリには、追加のネットワーク設定が格納されています。これらの設定値の多くは、相互に連動するように使用され、システムに対する攻撃を防止したり、システムをルーターとして機能させるように使用している場合に役立ちます。

警告

これらのファイルの変更でエラーがあると、システムへのリモート接続に影響を及ぼす可能性があります。
以下は、/proc/sys/net/ipv4/ ディレクトリ内の重要なファイルの一覧です:
  • icmp_echo_ignore_all 及び icmp_echo_ignore_broadcasts — 各ホストからの ICMP ECHO パケット、もしくはブロードキャスト及びマルチキャストのアドレスを起点とする ICMP ECHO パケットのみを無視することをそれぞれカーネルに許可します。0 の値は、カーネルによる応答を許可し、1 の値はパケットを無視します。
  • ip_default_ttl — デスティネーションに到達するまでに 1 つのパケットが作成することのできるホップ数を制限する、デフォルトの Time To Live (TTL) を設定します。この値を高くすると、システムのパフォーマンスが低下する可能性があります。
  • ip_forward — システム上のインターフェースが相互にパケットを送信するのを許可します。デフォルトでは、このファイルは 0 に設定されています。このファイルを 1 に設定すると、ネットワークパケット転送が有効になります。
  • ip_local_port_range — ローカルポートが必要な場合に TCP または UDP が使用するポートの範囲を指定します。第 1 の数値は、使用すべき最も低いポートです。第 2 の数値は、最も高いポートを指定します。デフォルトの 1024 から 4999 よりも多くのポートが必要となることが予想されるシステムでは、32768 から 61000 の範囲を使用すべきです。
  • tcp_syn_retries — システムが 接続を試みる際に SYN パケットを再転送する回数の上限を示します
  • tcp_retries1 — 着信接続への応答を試行する再転送の許容試行回数を設定します。デフォルト値は 3 です。
  • tcp_retries2 — TCP パケットの許容再転送回数を設定します。デフォルトは 15 です。
ファイル名:
/usr/share/doc/kernel-doc-kernel_version/Documentation/networking/ip-sysctl.txt
/proc/sys/net/ipv4/ ディレクトリで利用可能なファイルとオプションの完全な一覧が記載されています。
/proc/sys/net/ipv4/ ディレクトリ内には、その他のディレクトリが数多く存在します。各ディレクトリは、ネットワークスタックの異なる側面を網羅します。/proc/sys/net/ipv4/conf/ ディレクトリは、各システムインターフェースを異なる方法で設定できるようにします。これには、未設定のデバイス用のデフォルト設定の使用 (/proc/sys/net/ipv4/conf/default/ サブディレクトリ内) や全特殊設定の上書き (/proc/sys/net/ipv4/conf/all/ サブディレクトリ内) が含まれます。
/proc/sys/net/ipv4/neigh/ ディレクトリには、システムに直接接続されたホスト (ネットワークネイバーと呼ばれる) との通信のための設定が格納されています。又、1 ホップ以上離れたシステム用の異なる設定も含まれています。
IPV4 上のルーティングにも、独自のディレクトリ /proc/sys/net/ipv4/route/ があります。conf/neigh/ とは異なり、/proc/sys/net/ipv4/route/ ディレクトリにはシステム上の任意のインターフェースとのルーティングに適用される指定値が格納されています。max_sizemax_delaymin_delay など、これらの設定の多くは、ルーティングキャッシュサイズの制御に関連しています。ルーティングキャッシュをクリアするには、flush ファイルに任意の値を書き込んで下さい。
これらのディレクトリ及び設定ファイルの取り得る値に関する更なる情報は、以下の資料を参照して下さい:
/usr/share/doc/kernel-doc-kernel_version/Documentation/filesystems/proc.txt

E.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 デーモンを停止するのが賢明です。
  • dirty_background_ratio — pdflush デーモンを使用して、総メモリ合計に対するパーセンテージで、バックグラウンドでのダーティデータのライトバックを開始します。デフォルト値は 10 です。
  • dirty_expire_centisecs — ダーティインメモリデータがライトアウトの対象となる時間間隔を定義します。これよりも長くダーティインメモリであったデータは、pdflush デーモンが次回にウェイクアップする時に書き出されます。デフォルト値は 3000 で、1/100 秒単位で表示されます。
  • dirty_ratio — pdflush を介し、ダーティデータのジェネレーター用のメモリ合計に対してこの割合で、ダーティデータのアクティブライトバックを開始します。デフォルト値は 20 です。
  • dirty_writeback_centisecs — ダーティインメモリデータをディスクに定期的に書き出す、pdflush デーモンのウェイクアップ間隔を定義します。デフォルト値は 500 で、1/100 秒単位で表示されます。
  • laptop_mode — 可能な限り長時間、ディスクスパンを低くすることにより、ハードディスクがスピンアップする必要のある回数を最小限に抑え、ラップトップのバッテリーを節約します。これにより、将来の I/O プロセスがすべて統合されるため、効率が高くなり、スピンアップの頻度が低減します。デフォルト値は 0 ですが、ラップトップのバッテリーを使用する場合には自動的に有効化されます。
    バッテリー電源が有効化されたことがユーザーに通知された後には、この値は、acpid デーモンにより自動的に制御されます。ラップトップが ACPI (Advanced Configuration and Power Interface) 仕様をサポートしている場合には、ユーザーによる変更やインタラクションは必要ありません。
    更なる情報は、システムにインストールされている以下のドキュメントを参照して下さい:
    /usr/share/doc/kernel-doc-kernel_version/Documentation/laptop-mode.txt
  • max_map_count — 1 プロセスで使用できるメモリマップ領域の最大数を設定します。大半の場合、デフォルト値は 65536 が適切となります。
  • min_free_kbytes — Linux VM (仮想メモリマネージャー) が最小キロバイト数を空けておくように強制します。VM は、この数を使用して、システム内の各 lowmem ゾーンの pages_min 値を算出します。デフォルト値はマシン上のメモリ合計に対応します。
  • nr_hugepages — カーネル内の設定済み hugetlb ページの現在の数を示します。
    更なる情報は、システムにインストールされている以下のドキュメントを参照して下さい:
    /usr/share/doc/kernel-doc-kernel_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_memory2 に設定されている場合に考慮される物理 RAM の割合を指定します。デフォルト値は 50 です。
  • page-cluster — 1 回の試行で読み込まれるページ数を設定します。デフォルト値は 3 で、実際には 16 ページを意味しており、大半のシステムで適切な値です。
  • swappiness — 1 台のマシンでどれだけスワップすべきかを決定します。値が高いほど、多くスワップが発生します。デフォルト値は 60 パーセントです。
カーネル関連の全ドキュメントがローカルでインストールされている場所は以下の通りです:
/usr/share/doc/kernel-doc-kernel_version/Documentation/ (更なる情報が含まれています)