第5章 外部カーネルパラメーターへの重要な変更
この章では、システム管理者向けに、Red Hat Enterprise Linux 9.5 で配布されるカーネルの重要な変更点の概要を説明します。これらの変更には、たとえば、追加または更新された proc
エントリー、sysctl
エントリー、および sysfs
のデフォルト値、ブートパラメーター、カーネル設定オプション、または注目すべき動作の変更などが含まれます。
新しいカーネルパラメーター
numa_cma=<node>:nn[MG][,<node>:nn[MG]]
[KNL,CMA]
連続したメモリー割り当て用にカーネル numa メモリー領域のサイズを設定します。指定されたノードの CMA 領域を予約します。
numa CMA が有効な場合、ノード nid 上の DMA ユーザーが、まずノード nid にある numa 領域からバッファーを割り当てることを試みます。割り当てが失敗すると、グローバルデフォルトメモリー領域にフォールバックします。
reg_file_data_sampling=
[x86]
Register File Data Sampling (RFDS) の脆弱性の緩和策を制御します。RFDS は CPU の脆弱性です。これにより、浮動小数点レジスター、ベクトルレジスター、または整数レジスターに以前に保存されたカーネルデータ値が、ユーザー空間から推測される可能性があります。RFDS は Intel Atom プロセッサーにのみ影響します。
値:
-
on
:: 緩和策をオンにします。 -
off
:: 軽減策をオフにします。
このパラメーターは、CONFIG_MITIGATION_RFDS によって設定されたコンパイル時のデフォルトをオーバーライドします。他の VERW ベースの軽減策 (MDS など) が有効になっている場合、軽減策を無効にすることはできません。RFDS の軽減策を無効にするには、すべての VERW ベースの軽減策を無効にする必要があります。
詳細は、Documentation/admin-guide/hw-vuln/reg-file-data-sampling.rst
を参照してください。
locktorture.acq_writer_lim=
[KNL]
ロック取得の時間制限を jiffy 単位で設定します。取得がこの制限を超えると、取得の完了時にスプラットが発生します。
locktorture.bind_readers=
[KNL]
リーダーがバインドされる CPU のリストを指定します。
locktorture.bind_writers=
[KNL]
ライターがバインドされる CPU のリストを指定します。
locktorture.call_rcu_chains=
[KNL]
設定する自己伝播型 call_rcu()
チェーンの数を指定します。このチェーンは、特定の時点で RCU 猶予期間が進行中である確率を高めるために使用されます。デフォルトは 0 で、この call_rcu()
チェーンは無効です。
locktorture.long_hold=
[KNL]
時々発生する長時間のロック保持時間の期間をミリ秒単位で指定します。デフォルトは 100 ミリ秒 (ms) です。無効にするには 0
を選択します。
locktorture.nested_locks=
[KNL]
locktorture が実行するロックネストの最大の深さを、最大 8
まで指定します (MAX_NESTED_LOCKS)。無効にするには zero
を指定します。このパラメーターは、ネストされた取得をサポートしていないタイプのロックでは無効であることに注意してください。
workqueue.default_affinity_scope=
バインドされていないワークキューに使用するデフォルトのアフィニティースコープを選択します。"cpu"、"smt"、"cache"、"numa"、"system" のいずれかを指定できます。デフォルトは "cache" です。詳細は、Documentation/core-api/workqueue.rst
の「Affinity Scopes」セクションを参照してください。
これは、対応する /sys/module/workqueue/parameters
ファイルに書き込むことで、起動後に変更できます。"default" アフィニティースコープを持つすべてのワークキューがそれに応じて更新されます。
locktorture.rt_boost=
[KNL]
リアルタイムロック優先度ブースティングの定期的なテストを実行します。無効にするには 0
、rt_mutex のみをブーストするには 1
、無条件にブーストするには 2
を選択します。デフォルトは 2
です。これは不可解な選択に思えるかもしれませんが、非リアルタイムスピンロックではプリエンプションが無効になるため、無害です。非リアルタイムミューテックスではブースティングが無効になることに注意してください。
locktorture.writer_fifo=
[KNL]
書き込み側の locktorture kthreads を sched_set_fifo()
リアルタイム優先度で実行します。
locktorture.rt_boost_factor=
[KNL]
優先度ブーストが実行される頻度と期間を決定する数値。これはライターの数によってスケールダウンされるため、ライターの数が増えても、単位時間あたりのブースト回数はほぼ一定です。一方、各ブーストの持続時間はライターの数に応じて長くなります。
microcode.force_minrev=
[X86]
形式: <bool>
ランタイムマイクロコードローダーのマイクロコード最小リビジョンの適用を有効または無効にします。
module.async_probe=<bool>
[KNL]
true に設定すると、モジュールがデフォルトで非同期プローブを使用します。特定のモジュールの非同期プローブを有効/無効にするには、<module>.async_probe
に記載されているモジュール固有のコントロールを使用します。module.async_probe
と <module>.async_probe
の両方が指定されている場合、その特定のモジュールに対しては <module>.async_probe
が優先されます。
module.enable_dups_trace
[KNL]
CONFIG_MODULE_DEBUG_AUTOLOAD_DUPS
が設定されている場合、重複した request_module()
呼び出しによって pr_warn()
ではなく WARN_ON()
がトリガーされます。MODULE_DEBUG_AUTOLOAD_DUPS_TRACE
が設定されている場合は、WARN_ON()
が常に発行され、このオプションは効果がないことに注意してください。
nfs.delay_retrans=
[NFS]
サーバーから NFS4ERR_DELAY が応答された後、EAGAIN エラーを返す前に NFSv4 クライアントが要求を再試行する回数を指定します。softerr マウントオプションが有効になっていて、指定された値が >= 0
の場合にのみ適用されます。
rcutree.do_rcu_barrier=
[KNL]
rcu_barrier()
の呼び出しを要求します。これは、ユーザー空間テストで必要に応じて sysfs 変数を安全に試すことができるように、調整されます。RCU 猶予期間機構が完全にアクティブになる前にトリガーされた場合、EAGAIN でエラーが発生します。
rcuscale.minruntime=
[KNL]
最小テスト実行時間を秒単位で設定します。これはデータ収集間隔には影響しませんが、代わりに CPU 消費量などの測定を改善できます。
rcuscale.writer_holdoff_jiffies=
[KNL]
猶予期間 (jiffies 単位) の間に書き込み側の holdoff が追加されます。デフォルトはゼロで、holdoff はありません。
rcupdate.rcu_cpu_stall_notifiers=
[KNL]
RCU CPU ストール通知を指定します。ただし、RCU_CPU_STALL_NOTIFIER Kconfig オプションのヘルプテキストの警告を参照してください。TL;DR: ほとんどの場合、rcupdate.rcu_cpu_stall_notifiers は不要です。
rcupdate.rcu_task_lazy_lim=
[KNL]
特定の CPU 上の遅延をキャンセルするコールバックの数。遅延のキャンセルを無効にするには -1
を使用します。ただし、これを行うとコールバックのフラッディングによる OOM の危険性が増すことに注意してください。
rcupdate.rcu_tasks_lazy_ms= ++
[KNL]
call_rcu_tasks()
の RCU Tasks 非同期コールバックバッチ処理のタイムアウトをミリ秒単位で設定します。負の値がデフォルトになります。値がゼロの場合、バッチ処理は無効になります。synchronize_rcu_tasks()
ではバッチ処理は常に無効です。
rcupdate.rcu_tasks_rude_lazy_ms=
[KNL]
call_rcu_tasks_rude()
の RCU Tasks Rude 非同期コールバックバッチ処理のタイムアウトをミリ秒単位で設定します。負の値がデフォルトになります。値がゼロの場合、バッチ処理は無効になります。synchronize_rcu_tasks_rude()
ではバッチ処理は常に無効です。
rcupdate.rcu_tasks_trace_lazy_ms=
[KNL]
call_rcu_tasks_trace() の RCU Tasks Trace 非同期コールバックバッチ処理のタイムアウトをミリ秒単位で設定します。負の値がデフォルトになります。値がゼロの場合、バッチ処理は無効になります。synchronize_rcu_tasks_trace() ではバッチ処理は常に無効です。
spectre_bhi=
[X86]
Branch History Injection (BHI) 脆弱性の軽減を制御します。この設定は、HW の BHI 制御と SW の BHB クリアシーケンスのデプロイメントに影響します。
値:
on
- (デフォルト) 必要に応じて HW または SW 軽減策を有効にします。
off
- 緩和策を無効にします。
unwind_debug
[X86-64]
unwinder のデバッグ出力を有効にします。これは、スタックの破損や unwinder メタデータの不良または欠落など、一部の unwinder エラー状態をデバッグするのに役立ちます。
workqueue.cpu_intensive_thresh_us=
このしきい値よりも長い間実行される CPU ごとのワークアイテムが、自動的に CPU を集中的に使用するものとみなされ、他の CPU ごとのワークアイテムが著しく遅延するのを防ぐために、同時実行管理から除外されます。デフォルトは 10000
(10 ミリ秒) です。
CONFIG_WQ_CPU_INTENSIVE_REPORT
が設定されている場合、このしきい値に繰り返し違反するワーク関数がカーネルによって報告されます。そのような関数の代わりに、WQ_UNBOUND ワークキューを使用するのが適切である可能性があります。
workqueue.cpu_intensive_warning_thresh=<uint> CONFIG_WQ_CPU_INTENSIVE_REPORT
が設定されている場合、intensive_threshold_us
に繰り返し違反するワーク関数がカーネルによって報告されます。誤った警告を防ぐために、ワーク関数がこのしきい値の回数に違反するまで、出力は開始しません。
デフォルトは 4 回です。0
で警告が無効になります。
workqueue.default_affinity_scope=
バインドされていないワークキューに使用するデフォルトのアフィニティースコープを選択します。"cpu"、"smt"、"cache"、"numa"、"system" のいずれかを指定できます。デフォルトは "cache" です。詳細は、Documentation/core-api/workqueue.rst の「Affinity Scopes」セクションを参照してください。
これは、対応する /sys/module/workqueue/parameters
ファイルに書き込むことで、起動後に変更できます。"default" アフィニティースコープを持つすべてのワークキューがそれに応じて更新されます。
xen_msr_safe=
[X86,XEN]
形式: <bool>
Xen PV ゲストとして動作しているときに、常に non-faulting (安全な) MSR アクセス機能を使用するかどうかを選択します。デフォルト値は CONFIG_XEN_PV_MSR_SAFE
によって制御されます。
更新されたカーネルパラメーター
clearcpuid=
X[,X...] [X86]
カーネルの CPUID 機能 X を無効にします。番号 X を参照してください。
Linux 固有のビットは、カーネルオプションよりも必ずしも安定しているわけではありません。一方、ベンダー固有のビットは、安定していると考えられます。X は、/proc/cpuinfo
の flags: 行で見られる場合のように、文字列である場合もあります。その場合、上記の不安定性の問題は発生しません。ただし、すべての機能の名前が /proc/cpuinfo
にあるわけではありません。このオプションを使用すると、カーネルがテイントされることに注意してください。
また、CPUID を直接呼び出すユーザープログラムや、何もチェックせずに機能を使用するユーザープログラムでも、CPUID が認識されることに注意してください。これは、カーネルによって使用されたり、/proc/cpuinfo
に表示されたりするのを防ぐだけです。また、いくつかの重要なビットを無効にすると、カーネルが誤動作する可能性があることに注意してください。
cma_pernuma=nn[MG]
[KNL,CMA]
連続したメモリー割り当て用にカーネルの numa ごとのメモリー領域サイズを設定します。値が 0
の場合、numa ごとの CMA が完全に無効になります。このオプションが指定されていない場合、デフォルト値は 0
です。numa ごとの CMA が有効な場合、ノード nid 上の DMA ユーザーが、まずノード nid にある numa ごとの領域からバッファーを割り当てることを試みます。割り当てが失敗すると、グローバルデフォルトメモリー領域にフォールバックします。
csdlock_debug=
[KNL]
CPU 間関数呼び出し処理のデバッグアドオンを有効にします。オンにすると、ハングした CPU が検出された場合に追加のデバッグデータがコンソールに出力され、ハングした状況を解決するためにその CPU に再度 ping が実行されます。このオプションのデフォルト値は、CSD_LOCK_WAIT_DEBUG_DEFAULT
Kconfig オプションによって異なります。
<module>.async_probe[=<bool>]
[KNL]
<bool>
値が指定されていない場合、または指定された値が有効な <bool>
でない場合は、このモジュールで非同期プローブを有効にします。それ以外の場合は、<bool>
値で指定されたとおり、このモジュールの非同期プローブを有効/無効にします。module.async_probe
も参照してください。
earlycon=
[KNL]
初期コンソールのデバイスとオプションを出力します。
オプションなしで使用する場合、初期コンソールは、デバイスツリーの選択されたノードの stdout-path プロパティー、またはプラットフォームでサポートされている場合は ACPI SPCR テーブルによって決定されます。
cdns,<addr>[,options] 指定されたアドレスの Cadence (xuartps) シリアルポートでポーリングモードの初期コンソールを起動します。サポートされているオプションはボーレートのみです。ボーレートが指定されていない場合は、シリアルポートがすでにセットアップおよび設定されている必要があります。
uart[8250],io,<addr>[,options[,uartclk]]uart[8250],mmio,<addr>[,options[,uartclk]]uart[8250],mmio32,<addr>[,options[,uartclk]]uart[8250],mmio32be,<addr>[,options[,uartclk]]uart[8250],0x<addr>[,options]
指定された I/O ポートまたは MMIO アドレスの 8250/16550 UART で、ポーリングモードの初期コンソールを起動します。MMIO レジスター間アドレスストライドは、8 ビット (mmio) または 32 ビット (mmio32 または mmio32be) のいずれかです。[io|mmio|mmio32|mmio32be] のいずれでもない場合、<addr>
は 'mmio' と同等であるとみなされます。'options' は "console=ttyS<n>" の説明と同じ形式で指定されます。指定されていない場合、ハードウェアが初期化されません。'uartclk' は uart クロック周波数です。指定されていない場合、'BASE_BAUD' x 16 に設定されます。
earlyprintk=
[X86,SH,ARM,M68k,S390]
earlyprintk=vga earlyprintk=sclp earlyprintk=xen earlyprintk=serial[,ttySn[,baudrate]] earlyprintk=serial[,0x…[,baudrate]] earlyprintk=ttySn[,baudrate] earlyprintk=dbgp[debugController#] earlyprintk=pciserial[,force],bus:device.function[,baudrate] earlyprintk=xdbc[xhciController#]
earlyprintk は、通常のコンソールが初期化される前にカーネルがクラッシュした場合に役立ちます。表示の問題があるため、デフォルトでは有効になっていません。
実際のコンソールが引き継ぐときに無効にならないようにするには、",keep" を追加します。
同時に使用できるのは、vga、efi、シリアル、または usb デバッグポートのうち 1 つだけです。
現在、名前で指定できるのは ttyS0 と ttyS1 だけです。他の I/O ポートは、一部のアーキテクチャー (少なくとも x86 と arm) では、ttySn を I/O ポートアドレスに置き換えることによって明示的に指定できます (例: earlyprintk=serial,0x1008,115200)。/proc/tty/driver/serial: 2: uart:ST16650V2 port:00001008 irq:18 で、特定のデバイスのポートを見つけることができます。
標準シリアルドライバーとのやり取りはあまり良好ではありません。
VGA および EFI 出力は、最終的には実際のコンソールによって上書きされます。
xen オプションは Xen ドメインでのみ使用できます。
sclp 出力は s390 でのみ使用できます。
"pciserial" のオプションの "force" を使用すると、クラスコードが UART クラスでない場合でも、PCI デバイスを使用できるようになります。
iommu.strict=
[ARM64, X86, S390]
TLB 無効化動作を設定します。
形式: { "0" | "1" }
0
- レイジーモード- DMA アンマップ操作でハードウェア TLB の遅延無効化を使用するように要求し、デバイスの分離を犠牲にしてスループットを向上させます。関連する IOMMU ドライバーでサポートされていない場合は、厳密モードにフォールバックします。
1
- 厳密モード- DMA アンマップ操作で IOMMU ハードウェア TLB を同期的に無効にします。
unset
- CONFIG_IOMMU_DEFAULT_DMA_{LAZY,STRICT} の値を使用します。
x86 では、従来のドライバー固有のオプションの 1 つで指定された厳密モードが優先されます。
mem_encrypt=
[x86_64]
AMD Secure Memory Encryption (SME) の制御。
有効な引数: on、off
デフォルト: off
mem_encrypt=on: SME を有効にします。mem_encrypt=off: SME を有効にしません。
mitigations=
[X86,PPC,S390,ARM64]
CPU 脆弱性に対するオプションの軽減策を制御します。これは、既存のアーキテクチャー固有のオプションの集約となる、一連の、アーキテクチャーに依存しないオプションです。
値: off
オプションの CPU 軽減策をすべて無効にします。これによりシステムパフォーマンスが向上しますが、ユーザーを複数の CPU の脆弱性にさらす可能性もあります。以下と同等です。if nokaslr then kpti=0 [ARM64] gather_data_sampling=off [X86] kvm.nx_huge_pages=off [X86] l1tf=off [X86] mds=off [X86] mmio_stale_data=off [X86] no_entry_flush [PPC] no_uaccess_flush [PPC] nobp=0 [S390] nopti [X86,PPC] nospectre_bhb [ARM64] nospectre_v1 [X86,PPC] nospectre_v2 [X86,PPC,S390,ARM64] reg_file_data_sampling=off [X86] retbleed=off [X86] spec_rstack_overflow=off [X86] spec_store_bypass_disable=off [X86,PPC] spectre_bhi=off [X86] spectre_v2_user=off [X86] srbds=off [X86,INTEL] ssbd=force-off [ARM64] tsx_async_abort=off [X86]
nosmap
[PPC]
SMAP (Supervisor Mode Access Prevention) がプロセッサーでサポートされている場合でも、SMAP を無効にします。
nosmep
[PPC64s]
SMEP (Supervisor Mode Execution Prevention) がプロセッサーでサポートされている場合でも、SMEP を無効にします。
nox2apic
[x86_64,APIC]
x2APIC モードを有効にしません。
このパラメーターは、IA32_XAPIC_DISABLE_STATUS MSR
に LEGACY_XAPIC_DISABLED
ビットが設定されているシステムでは無視されます。
panic_print=
パニックが発生したときにシステム情報を出力するビットマスク。ユーザーは次のビットを組み合わせて選択できます。
- ビット 0: すべてのタスク情報の出力
- ビット 1: システムメモリー情報の出力
- ビット 2: タイマー情報の出力
- ビット 3: CONFIG_LOCKDEP がオンの場合、ロック情報を出力
- ビット 4: ftrace バッファーの出力
- ビット 5: バッファー内のすべての printk メッセージを出力
- ビット 6: すべての CPU のバックトレースを出力 (アーキテクチャーで利用可能な場合)
このオプションでは 多数 の行が出力されることがあるため、ログ内の古いメッセージが失われるリスクがあります。このオプションは慎重に使用してください。これとともに "log_buf_len" を使用して、より大きなログバッファーを設定すると役立つ場合があります。
pcie_aspm=
[PCIE]
PCIe Active State Power Management を強制的に有効化または無視します。
値:
off
- ASPM 設定を変更しません。ファームウェアによって行われた設定をそのまま使用します。
force
- ASPM をサポートしていないと言われているデバイスでも ASPM を有効にします。
ASPM を強制的にオンにすると、システムがロックアップする可能性があります。
s390_iommu=
[HW,S390]
s390 IOTLB フラッシュモードを設定します。
値:
strict
- 厳密なフラッシュ。すべてのアンマップ操作で IOTLB フラッシュが実行されます。
Default
- 再利用前に遅延フラッシュが実行されます。より高速です。
Deprecated
- iommu.strict=1 と同等です。
spectre_v2=
[x86]
Spectre バリアント 2 (間接分岐予測) の脆弱性の緩和策を制御します。デフォルトの操作は、カーネルをユーザー空間攻撃から保護します。
値:
on
- 無条件に有効にします。spectre_v2_user=on を意味します。
off
- 無条件に無効にします。spectre_v2_user=off を意味します。
auto
- CPU モデルが脆弱かどうかをカーネルが検出します。
'on' を選択すると (場合によっては 'auto' を選択しても)、CPU、使用可能なマイクロコード、CONFIG_MITIGATION_RETPOLINE
設定オプションの設定、およびカーネルのビルドに使用されたコンパイラーに応じて、実行時に緩和方法が選択されます。
usbcore.quirks=
[USB]
組み込みの usb コア quirk リストを拡張する quirk エントリーのリスト。リストのエントリーはコンマで区切ります。各エントリーの形式は VendorID:ProductID:Flags
です。ID はどちらも 4 桁の 16 進数で、Flags は文字のセットです。各文字により、組み込みの quirk が変更されます。クリアされている場合は設定され、設定されている場合はクリアされます。文字の意味は次のとおりです。
- a = USB_QUIRK_STRING_FETCH_255 (文字列記述子を 255 バイトの読み取りを使用して取得することを禁止します)
- b = USB_QUIRK_RESET_RESUME (デバイスを正しく再開できないため、代わりにリセットします)
- c = USB_QUIRK_NO_SET_INTF (デバイスが Set-Interface 要求を処理できません)
- d = USB_QUIRK_CONFIG_INTF_STRINGS (デバイスが設定またはインターフェイス文字列を処理できません)
- e = USB_QUIRK_RESET (デバイスをリセットできません (例: morph デバイス)。リセットの使用を禁止します)
-
f = USB_QUIRK_HONOR_BNUMINTERFACES (デバイスに
bNumInterfaces
の数より多くのインターフェイス記述があり、これらのインターフェイスとの通信を処理できません) - g = USB_QUIRK_DELAY_INIT (デバイス記述子を読み取った後、初期化中にデバイスを一時停止する必要があります)
- h = USB_QUIRK_LINEAR_UFRAME_INTR_BINTERVAL (高速および超高速割り込みエンドポイントの場合、USB 2.0 および USB 3.0 仕様では、マイクロフレーム単位の間隔 (1 マイクロフレーム = 125 マイクロ秒) を interval = 2 ^ (bInterval-1) として計算する必要があります。この quirk を持つデバイスは、計算で使用される指数変数の代わりに、この計算の結果として bInterval を報告します)
- i = USB_QUIRK_DEVICE_QUALIFIER (デバイスが device_qualifier 記述子要求を処理できません)
- j = USB_QUIRK_IGNORE_REMOTE_WAKEUP (デバイスが誤ったウェイクアップを生成するため、リモートウェイクアップ機能を無視します)
- k = USB_QUIRK_NO_LPM (デバイスが Link Power Management を処理できません)
- l = USB_QUIRK_LINEAR_FRAME_INTR_BINTERVAL (デバイスが、USB 2.0 の計算ではなく、リニアフレームとして bInterval を報告します)
- m = USB_QUIRK_DISCONNECT_SUSPEND (誤ったウェイクアップを防ぐために、サスペンド前にデバイスを切断する必要があります)
- n = USB_QUIRK_DELAY_CTRL_MSG (すべての制御メッセージの後にデバイスを一時停止する必要があります)
- o = USB_QUIRK_HUB_SLOW_RESET (ポートのリセット後、ハブに追加の遅延が必要です)
- p = USB_QUIRK_SHORT_SET_ADDRESS_REQ_TIMEOUT (SET_ADDRESS 要求のタイムアウトを 5000 ミリ秒から 500 ミリ秒に短縮します)
例: quirks=0781:5580:bk,0a5c:5834:gij
削除されたカーネルパラメーター
-
[BUGS=X86]
noclflush
:: CLFLUSH 命令を使用しない。 -
Workqueue.disable_numa
-
[X86]
noexec
-
[BUGS=X86-32]
nosep
:: x86 SYSENTER/SYSEXIT サポートを無効にする。 -
[X86]
nordrand
:: RDRAND のカーネル使用を無効にする。 -
thermal.nocrt
新しい sysctl パラメーター
oops_limit
panic_on_oops
が設定されていない場合に、カーネルがパニックを起こすまでのカーネル oops の数。これを 0
に設定すると、カウントのチェックが無効になります。これを 1
に設定すると、panic_on_oops=1
を設定した場合と同じ効果があります。デフォルト値は 10000
です。
warn_limit
panic_on_warn
が設定されていない場合に、カーネルがパニックを起こすまでのカーネル警告の数。これを 0
に設定すると、警告カウントのチェックが無効になります。これを 1
に設定すると、panic_on_warn=1
を設定した場合と同じ効果があります。デフォルト値は 0
です。
kexec_load_limit_panic
このパラメーターは、クラッシュイメージでシステムコール kexec_load
および kexec_file_load
を呼び出すことができる回数の制限を指定します。設定できるのは、現在の値よりも制限の厳しい値だけです。
値:
-1
- kexec への呼び出し回数が無制限になります。これはデフォルト設定です。
N
- 残りの呼び出し回数。
kexec_load_limit_reboot
kexec_load_limit_panic
と同様の機能ですが、通常のイメージ用です。
numa_balancing_promote_rate_limit_MBps
異なるメモリータイプ間のプロモートおよびデモートのスループットが高すぎると、アプリケーションのレイテンシーに悪影響が出る可能性があります。このパラメーターを使用して、プロモーションのスループットをレート制限できます。ノードあたりの最大プロモーションスループット (MB/秒) は、設定された値以下に制限されます。
経験則としては、これを PMEM ノードの書き込み帯域幅の 1/10 未満に設定します。
sysctl パラメーターの更新
kexec_load_disabled
システムコール kexec_load
および kexec_file_load
が無効になっているかどうかを示すトグル。この値はデフォルトで 0
(false: kexec_*load
が有効) ですが、1
(true: kexec_*load
が無効) に設定できます。
一度 true にすると、kexec が使用できなくなり、トグルを false
に戻すこともできなくなります。これにより、システムコールを無効にする前に kexec イメージをロードできるようになり、システムがイメージを変更せずにセットアップ (および後で使用) できるようになります。通常は `modules_disabled`_ sysctl と一緒に使用されます。
panic_print
パニックが発生したときにシステム情報を出力するビットマスク。ユーザーは次のビットを組み合わせて選択できます。
- ビット 0: すべてのタスク情報の出力
- ビット 1: システムメモリー情報の出力
- ビット 2: タイマー情報の出力
-
ビット 3:
CONFIG_LOCKDEP
がオンの場合、ロック情報を出力 - ビット 4: ftrace バッファーの出力
- ビット 5: バッファー内のすべての printk メッセージを出力
- ビット 6: すべての CPU のバックトレースを出力 (アーキテクチャーで利用可能な場合)
sched_energy_aware
Energy Aware Scheduling (EAS) を有効/無効にします。EAS は、それが動作するプラットフォーム (つまり、非対称 CPU トポロジーを持ち、Energy Model が利用可能なプラットフォーム) 上で自動的に起動します。お使いのプラットフォームが EAS の要件を満たしているが、EAS を使用しない場合は、この値を 0
に変更します。非 EAS プラットフォームでは、書き込み操作が失敗し、読み取り時に何も返されません。