第3章 外部のカーネルパラメーターに対する重要な変更

本章では、proc エントリー、sysctlsysfs のデフォルト値、boot パラメーター、カーネル設定オプションの追加や更新、また重要な動作の変更など、システム管理者向けに Red Hat Enterprise Linux 7.5 に同梱されるカーネルの重要な変更点についてまとめています。

カーネルのパラメーター

amd_iommu_intr = [HW,X86-64]
以下の AMD IOMMU 割り込みの再マッピングモードのいずれかを指定します。
legacy: レガシーの割り込み再マッピングモードを使用します。
vapic: 仮想 APIC モードを使用します。これにより、IOMMU が割り込みを直接ゲストに挿入できるようになります。このモードでは kvm-amd.avic=1 の設定が必要になります。これが、IOMMU HW サポートが存在する場合のデフォルトになります。
debug_pagealloc = [KNL]
CONFIG_DEBUG_PAGEALLOC を設定すると、システムの起動時にその機能が有効になります。デフォルトでは無効です。debug pagealloc にメモリーを大量に割り当てないようにするには、システムの起動時に有効にしないでください。オペレーティングシステムは、CONFIG_DEBUG_PAGEALLOC がないカーネルビルドを使用したときと同じように動作します。
この機能を有効にするには、debug_pagealloc = on とします。
ftrace_graph_max_depth = uint[FTRACE]
このパラメーターは、関数のグラフ追跡で使用されます。関数を追跡する最大深度を定義します。この値は、tracefs が追跡するディレクトリーの max_graph_depth file ファイルにより、ランタイム時に変更できます。
デフォルト値は 0 で、この場合は制限が設定されません。
init_pkru = [x86]
すべてのプロセスに対する、デフォルトのメモリー保護キーの正しいレジスターコンテンツを指定します。
デフォルトの値は 0x55555554 です。0 以外のすべての pkey への割り当てを無効にします。システムの起動時に、debugfs ファイルシステムの値を上書きできます。
nopku = [x86]
一部の Intel CPU で検出された、メモリー保護キーの CPU 機能を無効にします。
mem_encrypt = [X86-64]
AMD の SME (Secure Memory Encryption) 制御を提供します。有効な引数は on または off です。
デフォルト設定は、カーネルの設定オプションによって異なります。
on : CONFIG_AMD_MEM_ENCRYPT_ACTIVE_BY_DEFAULT=y
off : CONFIG_AMD_MEM_ENCRYPT_ACTIVE_BY_DEFAULT=n
mem_encrypt=on: SME を有効にする
mem_encrypt=off: SME を有効にしない

Spectre および Meltdown の問題を軽減するカーネルパラメーター

kpti = [X86-64]
カーネルページテーブルの分離を有効にします。
nopti = [X86-64]
カーネルページテーブルの分離を無効します。
nospectre_v2 = [X86]
Spectre バリアント 2 (Indirect Branch Speculation) 脆弱性に対する緩和策をすべて無効にします。このオプションを使用すると、オペレーティングシステムがデータをリークする可能性があります。これは、spectre_v2=off と同じです。
spectre_v2 = [X86]
Spectre バリアント 2 (Indirect Branch Speculation) 脆弱性の緩和を制御します。
有効なコマンドの引数は、on、off、auto です。
on: 無条件に有効にする
off: 無条件に無効にする
auto: CPU モデルが脆弱であるかどうかをカーネルが検出する
on を選択すると、CPU、利用可能なマイクロコード、CONFIG_RETPOLINE 設定オプションの設定、カーネルを構築したコンパイラーに従って、ランタイムで緩和策を選択します。auto にすると、同様の緩和策が選択される可能性があります。
特定の緩和策を選択することもできます。
retpoline: 間接分岐を置き換える
ibrs: Intel: Indirect Branch Restricted Speculation (カーネル)
ibrs_always: Intel: Indirect Branch Restricted Speculation (カーネルおよびユーザー空間)
このオプションを指定しても、spectre_v2=auto と同じではありません。

/proc/sys/net/core エントリーの更新

dev_weight_rx_bias
RPS 処理 (RFSaRFS など) が、softirq サイクルあたりの netdev_budget に対して、登録されているドライバーの NAPI poll 関数と競合します。
このパラメーターには、RX softirq サイクル時に、RPS ベースのパケット処理で、設定した netdev_budget が経過した割合に影響します。これは、現在の dev_weight ネットワークの stack の転送を受け取る側で、非対称の CPU ニーズを適用できるようにします。
このパラメーターは、CPU ベースで有効です。dev_weight に基づいて決定し、乗算 (dev_weight * dev_weight_rx_bias) で計算されます。デフォルト値は 1 です。
dev_weight_tx_bias
このパラメーターは、TX softirq サイクル時に処理できる最大パケット数のスケーリングを行います。
これは CPU ベースで有効で、非対称ネットのスタック処理のニーズに対して、現在の dev_weight のスケーリングができるようにします。TX softirq が CPU hog を処理しないようにします。
dev_weight に基づいて決定し、乗算 (dev_weight * dev_weight_rx_bias) で計算されます。デフォルト値は 1 です。

このページには機械翻訳が使用されている場合があります (詳細はこちら)。