第5章 外部カーネルパラメーターへの重要な変更
この章では、システム管理者向けに、Red Hat Enterprise Linux 9.4 で配布されるカーネルの重要な変更点の概要を説明します。これらの変更には、たとえば、追加または更新された proc
エントリー、sysctl
エントリー、および sysfs
のデフォルト値、ブートパラメーター、カーネル設定オプション、または注目すべき動作の変更などが含まれます。
新しいカーネルパラメーター
accept_memory=
[MM]
値:
lazy
(デフォルト)- デフォルトでは、起動時間が長くなるのを避けるために、受け入れられないメモリーは遅延して受け入れられます。lazy オプションは、すべてのメモリーが最終的に受け入れられるまで、実行時のオーバーヘッドをいくつか追加します。ほとんどの場合、オーバーヘッドはごくわずかです。
eager
-
一部のワークロードやデバッグの目的で、
accept_memory=eager
を使用して、起動時にすべてのメモリーを一度に受け入れることができます。
arm64.nomops
[ARM64]
メモリーコピーおよびメモリーセット命令のサポートを無条件に無効にします。
cgroup_favordynmods=
[KNL]
favordynmods
を有効または無効にします。
値:
-
true
-
false
デフォルトの値は CONFIG_CGROUP_FAVOR_DYNMODS
です。
early_page_ext
[KNL]
より早いブート割り当てをカバーするために、page_ext
の初期化を早い段階で強制します。
副次的影響として、これを達成するために一部の最適化が無効になる可能性があることに注意してください。たとえば、並列化されたメモリー初期化が無効になります。したがって、特にメモリー容量の多いシステムでは、起動プロセスに時間がかかる可能性があります。
CONFIG_PAGE_EXTENSION=y
で利用可能です。
fw_devlink.sync_state=
[KNL]
プローブ可能なすべてのデバイスがプローブを完了したときに、このパラメーターは、sync_state()
呼び出しをまだ受信していないデバイスに対して何を行うかを制御します。
値:
strict
(デフォルト)- コンシューマーがプローブに成功するまで待機し続けます。
timeout
-
コンシューマーの待機をあきらめ、
deferred_probe_timeout
の有効期限が切れた後、またはCONFIG_MODULES
がfalse
の場合はlate_initcall()
によって、sync_state()
呼び出しをまだ受信していないデバイスでsync_state()
を呼び出します。
ia32_emulation=
[X86-64]
値:
true
-
32 ビットプログラムのロードと 32 ビット syscall の実行を許可し、基本的に起動時に
IA32_EMULATION_DEFAULT_DISABLED
をオーバーライドします。 false
- IA32 エミュレーションを無条件に無効にします。
kunit.enable=
[KUNIT]
KUnit テストの実行を有効にします。完全に有効にするには、CONFIG_KUNIT
を設定する必要があります。
KUNIT_DEFAULT_ENABLED
を使用してデフォルト値をオーバーライドできます。
デフォルトは 1 (有効化済み) です。
mtrr=debug
[X86]
起動時に MTRR レジスターに関連するデバッグ情報を出力できるようにします。
rcupdate.rcu_cpu_stall_cputime=
[KNL]
サンプリング期間中の CPU 時間、割り込みおよびタスクの数に関する統計を提供します。複数の連続した RCU ストールの場合、すべてのサンプリング期間は最初の RCU ストールタイムアウトの半分で開始されます。
rcupdate.rcu_exp_stall_task_details=
[KNL]
高速 RCU CPU ストール警告中に、現在の高速 RCU 猶予期間をブロックしているすべてのタスクのスタックダンプを出力します。
spec_rstack_overflow=
[X86]
AMD Zen CPU 上の RAS オーバーフロー軽減策を制御します。
値:
off
- 軽減策を無効にします。
microcode
- マイクロコードの軽減策のみを有効にします。
safe-ret
(デフォルト)- ソフトウェアのみの安全な RET 軽減策を有効にします。
ibpb
- カーネルエントリーで IBPB を発行して軽減策を有効にします。
ibpb-vmexit
- VMEXIT でのみ IBPB を発行します。この軽減策はクラウド環境に特有のものです。
workqueue.unbound_cpus=
[KNL,SMP]
バインドされていないワークキューで使用する 1 つまたは複数の CPU を制限するように指定します。
値: CPU のリスト。
デフォルトでは、すべてのオンライン CPU がバインドされていないワークキューに使用できます。
更新されたカーネルパラメーター
amd_iommu=
[HW, X86-64]
システム内の AMD IOMMU ドライバーにパラメーターを渡します。
値:
fullflush
-
非推奨。
iommu.strict=1
と同等です。 off
- システム内で見つかった AMD IOMMU を初期化しないでください。
force_isolation
-
すべてのデバイスのデバイス分離を強制します。IOMMU ドライバーは、必要に応じて分離要件を引き上げることができなくなりました。このオプションは
iommu=pt
をオーバーライドしません。 force_enable
- IOMMU を有効にするとバグが発生することがわかっているプラットフォームで、IOMMU を強制的に有効にします。このオプションは注意して使用してください。
- 新規:
pgtbl_v1
(デフォルト) - DMA-API にはバージョン 1 ページテーブルを使用します。
- 新規:
pgtbl_v2
- DMA-API にはバージョン 2 ページテーブルを使用します。
- 新規:
irtcachedis
- 割り込み再マッピングテーブル (IRT) キャッシュを無効にします。
nosmt
[KNL, PPC, S390]
対称マルチスレッド (SMT) を無効にします。smt=1
と同等です。
[KNL, X86, PPC]
対称マルチスレッド (SMT) を無効にします。
nosmt=force
-
SMT を強制的に無効にします。
sysfs
制御ファイルを使用して元に戻すことはできません。
page_reporting.page_reporting_order=
[KNL]
最小ページのレポート順序。
値: 整数
最小ページのレポート順序を調整します。
新規: MAX_ORDER
を超えるとページレポートが無効になります。
tsc=
TSC のクロックソース安定性チェックを無効にします。
値:
- [x86]
reliable
- tsc クロックソースを信頼できるものとしてマークします。これにより、実行時のクロックソース検証と起動時に実行される安定性チェックが無効になります。古いハードウェアおよび仮想化環境で高分解能タイマーモードを有効にするために使用されます。
- [x86]
noirqtime
-
irq
アカウンティングの実行に、TSC を使用しないでください。RDTSC が遅れており、このアカウンティングによってオーバーヘッドが追加される可能性があるプラットフォームで、実行時にIRQ_TIME_ACCOUNTING
を無効にするために使用されます。 - [x86]
unstable
- TSC クロックソースを不安定としてマークします。これにより、起動時に TSC が無条件に不安定であるとマークされ、TSC ウォッチドッグがそれを検知すると、それ以上の不安定さが回避されます。
- [x86]
nowatchdog
- クロックソースウォッチドッグを無効にします。レイテンシー要件が厳しい状況 (クロックソースウォッチドッグからの割り込みが許容されない場合) で使用されます。
- [x86]
recalibrate
- MSR または CPUID(0x15) を使用して TSC 周波数が HW または FW から取得されるシステム上で、HW タイマー (HPET または PM タイマー) に対する再キャリブレーションを強制します。差が 500 ppm を超える場合は警告します。
- 新規: [x86]
watchdog
TSC をウォッチドッグクロックソースとして使用し、他の HW タイマー (HPET または PM タイマー) をチェックします。ただし、TSC が信頼できると判断されたシステムでのみ使用します。
以前の
tsc=nowatchdog
は、これを抑制します。後のtsc=nowatchdog
は、これをオーバーライドします。コンソールメッセージには、このような抑制またはオーバーライドがフラグ付けされます。
usbcore.authorized_default=
[USB]
デフォルトの USB デバイス認証。
値:
- 新規:
-1
(デフォルト) - 承認済み (1 と同じ)。
0
- 非承認
1
- 承認済み
2
- デバイスが内部ポートに接続する場合は承認されます。
削除されたカーネルパラメーター
-
cpu0_hotplug
-
sysfs.deprecated
新しい sysctl パラメーター
io_uring_group
値:
1
-
io_uring
インスタンスを作成するには、プロセスが特権 (CAP_SYS_ADMIN
) を持っているか、io_uring_group
グループに属している必要があります。 -1
(デフォルト)-
CAP_SYS_ADMIN
権限を持つプロセスのみがio_uring
インスタンスを作成できます。
numa_balancing_promote_rate_limit_MBps
異なるメモリータイプ間のプロモートおよびデモートのスループットが高すぎると、アプリケーションのレイテンシーに悪影響が出る可能性があります。このパラメーターを使用して、プロモーションのスループットをレート制限できます。ノードあたりの最大プロモーションスループット (MB/秒) は、設定された値以下に制限されます。
経験則としては、これを PMEM ノードの書き込み帯域幅の 1/10 未満に設定します。
sysctl パラメーターの更新
io_uring_disabled
すべてのプロセスが新しい io_uring
インスタンスを作成するのを防ぎます。これを有効にすると、カーネルの攻撃対象領域が縮小されます。
値:
- 新規:
0
-
すべてのプロセスは通常どおり
io_uring
インスタンスを作成できます。 - 新規:
1
io_uring_group グループに属さない非特権プロセスでは、
io_uring
の作成は無効になります。io_uring_setup()
は-EPERM
で失敗します。既存のio_uring
インスタンスは引き続き使用できます。詳細は、
io_uring_group
のドキュメントを参照してください。- 新規:
2
(デフォルト) -
io_uring
の作成は、すべてのプロセスで無効化されています。io_uring_setup()
は常に-EPERM
で失敗します。既存のio_uring
インスタンスは引き続き使用できます。