カーネルブートパラメータのリファレンス

次の表では、よく使用されるカーネル・ブート・パラメータの一部について説明します。

オプション

説明

0123456、またはsystemd.unit=runlevelN.target

レガシーSysV実行レベルと一致するように、最も近いsystemd相当のシステム状態ターゲットを指定します。Nは0から6の整数値をとります。

systemdは、レガシーSysV initシステムを模倣するようにシステム状態ターゲットをマップします。

システム状態ターゲットの説明については、「システム状態ターゲット」をご覧ください。

1sSsingle、またはsystemd.unit=rescue.target

レスキュー・シェルを指定します。システムは単一ユーザー・モードで起動し、rootパスワードの入力を求められます。

3またはsystemd.unit=multi-user.target

マルチユーザーの非グラフィック・ログインにsystemdターゲットを指定します。

5またはsystemd.unit=graphical.target

マルチユーザーのグラフィック・ログインにsystemdターゲットを指定します。

-bemergency、またはsystemd.unit=emergency.target

緊急モードを指定します。システムは単一ユーザー・モードで起動し、rootパスワードの入力を求められます。レスキュー・モードよりも少ないサービスが起動します。

KEYBOARDTYPE=kbtype

キーボード・タイプを指定し、これはinitramfs/etc/sysconfig/keyboardに書き込まれます。

KEYTABLE=kbtype

キーボード・レイアウトを指定し、これはinitramfs/etc/sysconfig/keyboardに書き込まれます。

LANG=language_territory.codeset

initramfs/etc/sysconfig/i18nに書き込まれるシステム言語およびコード・セットを指定します。

max_loop=N

ブロック・デバイスとしてファイルにアクセスするために使用できるループ・デバイス(/dev/loop*)の数を指定します。Nのデフォルト値および最大値は、8および255です。

nouptrack

Ksplice Uptrack更新がカーネルに適用されないようにします。

quiet

デバッグ出力を削減します。

rd_LUKS_UUID=UUID

指定したUUIDと一致する暗号化Linux Unified Key Setup (LUKS)パーティションをアクティブ化します。

rd_LVM_VG=vg/lv_vol

LVMボリューム・グループおよびアクティブ化するボリュームを指定します。

rd_NO_LUKS

暗号化LUKSパーティションの検出を無効にします。

rhgb

Red Hatのグラフィカル・ブート表示を使用して、ブートの進捗状況を示すことを指定します。

rn_NO_DM

Device-Mapper (DM) RAID検出を無効にします。

rn_NO_MD

Multiple Device (MD) RAID検出を無効にします。

ro root=/dev/mapper/vg-lv_root

rootファイル・システムを読取り専用でマウントすることを指定し、rootファイル・システムを、そのLVMボリュームのデバイス・パスで指定します(vgはボリューム・グループの名前)。

rw root=UUID=UUID

ルート(/)ファイル・システムをブート時に読取り/書込み可能でマウントすることを指定し、ルート・パーティションをそのUUIDで指定します。

selinux=0

SELinuxを無効にし、/.autorelabelファイルにアクセスして、次回SELinuxを有効にして起動したときにSELinuxファイル・コンテキストが自動的に再ラベル付けされるようにします。

本番環境でSELinuxを無効にしないでください。かわりに、SELinuxをpermissiveモードに設定します。

enforcing=0 次回リブートするまで SELinuxを許容モードに設定します。許容モードでは、ファイルコンテキストが自動的にラベル付けされ、拒否が記録されますが、アプリケーションは引き続き機能します。

SELinuxの許容モードを使用して、SELinuxの問題をデバッグします。

SYSFONT=font

コンソール・フォントを指定します。このフォントは、initramfs/etc/sysconfig/i18nに書き込まれます。

システム・パフォーマンスを制御するパラメータ

次のパラメータは、システム・パフォーマンスの様々な部分を制御します。

パラメータ 説明
fs.file-max

すべてのプロセスに対するオープン・ファイルの最大数を指定します。ファイル・ハンドラ不足に関するメッセージが表示された場合は、このパラメータの値を増やします。

kernel.io_uring_disabled

io_uringインスタンスを作成するために無効になっている設定を指定します。io_uringは、ストレージおよびネットワーキングのパフォーマンスを向上させることができる非同期I/O操作を処理するインタフェースを提供します。io_uringはUEKでサポートされており、Oracle LinuxでUEKを実行するときにデフォルトで有効になっています。

次の値をio_uringパラメータに設定できます:

  • kernel.io_uring_disabled=0 (デフォルト)。この設定は、すべてのプロセスでio_uringインスタンスを作成できることを示します。
  • kernel.io_uring_disabled=1。この設定では、CAP_SYS_ADMIN権限を持つプロセスのみがio_uringインスタンスを作成できることを指定します。
  • kernel.io_uring_disabled=2。この設定では、io_uringインスタンスの作成がすべてのユーザーに対して無効になっていることを指定します。
net.core.netdev_max_backlog

受信者のバックログ・キューのサイズを指定し、これは、カーネルでパケットの処理が処理される速度より速くインタフェースによってパケットが受信される場合に使用されます。このキューが小さすぎると、ネットワーク上ではなく、受信者側でパケットが失われます。

net.core.rmem_max

最大読取りソケット・バッファ・サイズを指定します。ネットワーク・パケットの喪失を最小限にするために、このバッファは受信ネットワーク・パケットを処理するのに十分な大きさにする必要があります。

net.core.wmem_max

最大書込みソケット・バッファ・サイズを指定します。ネットワーク・パケットの喪失を最小限にするために、このバッファは送信ネットワーク・パケットを処理するのに十分な大きさにする必要があります。

net.ipv4.tcp_available_congestion_control

使用可能なTCP輻輳回避アルゴリズムを表示します。htcpアルゴリズムを実装するためにtcp_htcpなどの追加モジュールをロードする必要がある場合は、modprobeコマンドを使用します。

net.ipv4.tcp_congestion_control

使用するTCP輻輳回避アルゴリズムを指定します。

net.ipv4.tcp_max_syn_backlog

許可される未処理のSYNリクエスト数を指定します。正当な接続試行によってサーバーがオーバーロードされるログにsynflood警告が表示される場合は、このパラメータの値を増やします。

net.ipv4.tcp_rmem

TCPソケットに使用される、最小、デフォルトおよび最大受信バッファ・サイズを指定します。最大値はnet.core.rmem_maxより大きい値にできません。

net.ipv4.tcp_wmem

TCPソケットに使用される、最小、デフォルトおよび最大送信バッファ・サイズを指定します。最大値はnet.core.wmem_maxより大きい値にできません。

vm.swappiness

カーネルが、ロードしたページをシステム・ページ・キャッシュから削除するかわりに、ページをスワップに書き込む頻度を指定します。0に設定すると、メモリー不足の状態を回避する目的でのみスワッピングが発生します。100に設定すると、カーネルは頻繁にスワップします。デスクトップ・システムの場合、低い値に設定すると、待機時間が短縮され、システム応答が改善する場合があります。デフォルト値は60です。

このパラメータは、ハード・ディスクの電力消費を節約するために、ラップトップ・コンピュータで使用します。サーバー・システム上でこの値を調整しません。

カーネル・パニックを制御しているパラメータ

次のパラメータは、カーネル・パニックが発生する可能性がある状況を制御します。

パラメータ 説明
kernel.hung_task_panic

1に設定すると、カーネル・スレッドまたはユーザー・スレッドがkernel.hung_task_timeout_secs秒より長い間TASK_UNINTERRUPTIBLE状態(D状態)でスリープされている場合にカーネルがパニックを起こします。I/Oの完了を待機している間、プロセスはD状態のままです。この状態のプロセスは、停止または割込みできません。

デフォルト値は0であり、この場合パニックは無効化されます。

ハング・スレッドを診断するには、カーネル・スレッドとユーザー・スレッドの両方のカーネル・スタックを表示する/proc/PID/stackを調べます。

kernel.hung_task_timeout_secs

ユーザーまたはカーネル・スレッドが警告メッセージが生成されるか、カーネル・パニックが発生する(kernel.hung_task_panicが1の場合)までに、ユーザーまたはカーネル・スレッドにD状態のままできる期間を指定します。デフォルト値は120秒です。値を0に指定すると、タイムアウトを無効化できます。

kernel.nmi_watchdog

1 (デフォルト)に設定すると、カーネル内のマスク不可能な割込み(NMI)ウォッチドッグ・スレッドが有効になります。NMIスイッチまたはOProfileシステム・プロファイラを使用して未定義のNMIを生成するには、kernel.nmi_watchdogの値を0に設定します。

kernel.panic

パニック後、システムが自動的に自己リセットを行う前の秒数を指定します。

値が0 (デフォルト値)の場合、システムは一時停止状態になり、トラブルシューティングのためにパニックの詳細情報を収集できます。

自動リセットを有効にするには、ゼロ以外の値を設定します。メモリー・イメージ(vmcore)が必要な場合、Kdumpがこのイメージを作成するのに十分な時間を残します。推奨値は30秒ですが、大規模システムの場合はより長い時間が必要です。

kernel.panic_on_io_nmi

0 (デフォルト)に設定すると、通常は修正不可能なハードウェア・エラーを示すI/Oチャネル・チェック(IOCHK) NMIをカーネルが検出した場合に操作の続行が試行されます。1に設定した場合は、システム・パニックが発生します。

kernel.panic_on_oops

0に設定すると、カーネルでoopsまたはBUG状態を検出した場合でも、システムは操作を続行しようとします。1 (デフォルト)に設定した場合は、パニックが発生する前にカーネル・ログ・デーモンklogdにoops出力を記録する時間を持たせるため、数秒遅延が発生します。

OCFS2クラスタで、値を1に設定して、カーネルoopsが発生した場合にシステムがパニック状態になるように指定します。クラスタ操作に必要とされるカーネル・スレッドが失敗した場合、システムは自己リセットを行う必要があります。それ以外の場合、他のノードはあるノードの応答が遅れているのか、応答できないのかを検出できず、その結果クラスタ操作が停止する可能性があります。

kernel.panic_on_unrecovered_nmi

0 (デフォルト)に設定すると、修正不可能パリティまたはECKメモリー・エラーを示しているNMIをカーネルが検出した場合に操作の続行が試行されます。1に設定した場合は、システム・パニックが発生します。

kernel.softlockup_panic

0 (デフォルト)に設定すると、NMIウォッチドッグ・スレッドがタイムスタンプの更新を、kernel.watchdog_threshで入力した秒数2倍より長い時間にわたる失敗する原因となるsoft-lockupエラーをカーネルが検出した場合も、操作の続行は試行されます。1に設定した場合は、システム・パニックが発生します。

kernel.unknown_nmi_panic

1に設定すると、カーネルが未定義のNMIを検出した場合にパニックが発生します。NMIスイッチを手動で押して未定義のNMIを生成できます。NMIウォッチドッグ・スレッドでは未定義のNMIも使用されるため、kernel.nmi_watchdogを1に設定した場合はkernel.unknown_nmi_panicの値を0に設定します。

kernel.watchdog_thresh

カーネルがhard-lockupエラーおよびsoft-lockupエラーのチェックに使用するNMIパフォーマンス監視割込みの生成間隔を指定します。CPUが割込みに対してkernel.watchdog_thresh秒を超えて応答しない場合は、ハード・ロックアップ・エラーが想定されます。デフォルト値は10秒。値を0に指定すると、ロックアップ・エラーの検出を無効化できます。

vm.panic_on_oom

0 (デフォルト)に設定した場合、カーネルのOOM-killerによって、タスク・リスト全体がスキャンされ、パニックを回避するためにメモリー占有プロセスが停止されます。1に設定すると、カーネル・パニックは発生しますが、特定の状況では存続できます。プロセスで、メモリー・ポリシーまたはcpusetを使用することによって特定のノードへの割当が制限され、これらのノードがメモリー不足の状態になった場合、OOM-killerによってあるプロセスを停止できます。他のノードのメモリーには空きがあり、システム全体としてはまだメモリー不足ではない可能性があるため、この場合パニックは発生しません。2に設定すると、OOM状態で常にカーネル・パニックが発生します。1および2の設定は、定義されたフェイルオーバー・ポリシーに応じて、クラスタで使用することを目的としています。