Red Hat Training

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

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

本章では、システム管理者向けに、Red Hat Enterprise Linux 7.4 に同梱されるカーネルにおける重要な変更の概要について説明します。これらの変更には、proc エントリー、sysctl および sysfs のデフォルト値、ブートパラメーター、カーネル設定オプションの追加または更新、注目すべき動作の変更が含まれます。

更新された /proc/sys/kernel エントリー

hung_task_panic
応答しないタスクが検出された場合のカーネルの動作を制御します。このファイルは、CONFIG_DETECT_HUNG_TASK が有効な場合に発生します。
形式: { "0" | "1" }
0 - 操作を続行します。デフォルトの動作。
1 - すぐにパニックになる。
hung_task_check_count
チェックされるタスクの数の上限を指定します。このファイルは、CONFIG_DETECT_HUNG_TASK が有効な場合に発生します。
hung_task_timeout_secs
間隔を確認します。D 状態のタスクがこの値よりも長い時間スケジュールされていない場合に警告を報告します。このファイルは、CONFIG_DETECT_HUNG_TASK が有効な場合に発生します。
0 - 無限のタイムアウト - チェックは行われませんでした。
hung_task_warning
チェック間隔中に報告する警告の最大数を指定します。この値に到達すると、警告が報告されなくなります。このファイルは、CONFIG_DETECT_HUNG_TASK が有効な場合に発生します。
-1 - 無限の警告を報告します。
panic_on_rcu_stall
1 に設定すると、RCU ストール検出メッセージの後に panic() 関数を呼び出します。これは、vmcore を使用して RCU ストールの根本原因を定義する場合に役立ちます。
0 - RCU ストールが発生する際にパニックを起こさないでください。デフォルトの動作。
1 - RCU ストールメッセージを出力した後にパニックが発生します。

更新された /proc/sys/user エントリー

/proc/sys/user ディレクトリーのファイルを使用して、namespace の数およびユーザーごとの namespace 制限を持つその他のオブジェクトのデフォルトの制限をオーバーライドできます。これらの制限の目的は、誤動作するプログラムを停止し、多数のオブジェクトの作成を試みることです。この制限のデフォルト値は、通常の操作で使用しているプログラムがこの制限に到達できないように調整されています。
ユーザーごとの名前空間オブジェクトの作成は、オブジェクトを作成し、そのユーザー名前空間のユーザーごとの制限を下回っていることを確認したユーザー名前空間のユーザーに課金されます。このようなオブジェクトの作成はユーザーの名前空間で行われ、ユーザーの名前空間を作成したすべてのユーザーに課金されます。
作成されたオブジェクトのこの再帰的なカウントにより、ユーザー名前空間を作成しても、ユーザーが現在の制限を超えることはありません。
/proc/sys/user で更新されたファイルは次のとおりです。
max_cgroup_namespaces
現在のユーザー名前空間内のすべてのユーザーが作成できる制御グループ名前空間の最大数。
max_ipc_namespaces
現在のユーザー名前空間内のユーザーが作成できるプロセス間通信の名前空間の最大数。
max_mnt_namespaces
現在のユーザー名前空間内のすべてのユーザーが作成できるマウント名前空間の最大数。
max_net_namespaces
現在のユーザー名前空間内のユーザーが作成できるネットワーク名前空間の最大数。
max_pid_namespaces
現在のユーザー名前空間内のすべてのユーザーが作成できるプロセス ID 名前空間の最大数。
max_user_namespaces
現在のユーザー名前空間内のすべてのユーザーが作成できるユーザー ID 名前空間の最大数。
max_uts_namespaces
現在のユーザー名前空間のすべてのユーザーが作成できる UNIX Timesharing System (UTS) 名前空間の最大数。

カーネルパラメーター

acpi_force_table_verification [HW,ACPI]
初期段階でテーブルチェックサム検証を有効にします。デフォルトでは、初期マッピングサイズの制限により、32 ビットの AMD アーキテクチャーおよび Intel アーキテクチャーでは無効になっています。
acpi_no_auto_ssdt [HW,ACPI]
Secondary System Description Table (SSDT) の自動読み込みを無効にします。
acpi_no_static_ssdt [HW,ACPI]
起動初期の静的 SSDT のインストールを無効にします。デフォルトでは、Root System Description Table (RSDT)または eXtended System Descriptor Table (XSDT)に含まれる SSDT は自動的にインストールされ、/sys/firmware/acpi/tables ディレクトリーに表示されます。
このオプションは、この機能をオフにします。このオプションを指定しても、SSDT テーブルを /sys/firmware/acpi/tables/dynamic ディレクトリーにインストールする動的テーブルのインストールには影響しません。
irqaffinity= [SMP]
次の形式で、デフォルトの irq アフィニティーマスクを設定します。
形式: <cpu number>,..., <cpu number>
または
<cpu number>-<cpu number>
正の範囲は、昇順または組み合わせで使用できます。
<cpu number>,...,<cpu number>-<cpu number>
nokaslr [KNL]]
起動初期の静的 SSDT のインストールを無効にします。デフォルトでは、RSDT または XSDT に含まれる SSDT は自動的にインストールされ、/sys/firmware/acpi/tables ディレクトリーに表示されます。
CONFIG_RANDOMIZE_BASE が設定されている場合、カーネルおよびモジュールベースオフセット Address SpaceLayout Randomization (ASLR)を無効にします。
nohibernate
休止状態を無効にし、再開します。
crash_kexec_post_notifiers
panic-notifiers を実行し、kmsg をダンプした後に kdump を実行します。
[PCI] hpbussize=nn
ホットプラグブリッジの下のバス用に予約されている追加のバス番号の最小量を提供します。デフォルトは 1 です。
pcie_port_pm=[PCIE]
PCIe ポートの電源管理処理:
形式: { "off" | "force" }
off - すべての PCIe ポートの電源管理を無効にします。
1 - すべての PCIe ポートの電源管理を有効にします。
sunrpc.svc_rpc_per_connection_limit=[NFS,SUNRPC]
サーバーが単一の接続から並行して処理する要求の数を制限します。デフォルト値は 0 (制限なし) です。