Red Hat Training

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

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

本章では、システム管理者向けに、Red Hat Enterprise Linux 7.3 に同梱されるカーネルの重要な変更点の概要を説明します。この変更には、proc エントリー、sysctl および sysfs のデフォルト値、boot パラメーター、カーネル設定オプションの追加や更新、注目すべき動作の変更などが含まれます。
apic_extnmi=[APIC,X86]
外部NMI(Nonmaskable Interrupt)配信設定を提供します。
形式:{ bsp (デフォルト)| all | none }。
bsp: 外部 NMI は CPU 0 にのみ配信されます。
all: 外部 NMI は、CPU 0 のバックアップとしてすべての CPU にブロードキャストされます。
None: 外部 NMI はすべての CPU に対してマスクされます。これは、ダンプキャプチャーカーネルが NMI によってスクリーンショットを外さないようにするのに役立ちます。
BAU=[X86_UV]SGI UV で BAU を有効にします。
デフォルトの動作では、BAU (bau=0)が無効になります。
形式: { "0" | "1" }
0: BAU を無効にします。
1: BAU を有効にします。
unset: BAU を無効にします。
cpu_init_udelay=N [X86]
プロセッサーを開始する APIC INIT のアサートとデサートの間に N マイクロ秒の遅延を設定します。この遅延は、起動など、オンラインのすべての CPU で発生し、サスペンドから再開します。
デフォルト値:10000
hardlockup_all_cpu_backtrace=[KNL]
ハードロックアップ検出は、すべての cpu でバックトレースを生成します。
形式:integer
intel_iommu=[DMAR] Intel iommu driver (DMAR) option [...]
ecs_off [Default Off]
デフォルトでは、ハードウェアが拡張テーブル自体と PASID サポートの両方をサポートすることをハードウェアがアドバタイズすると、拡張コンテキストテーブルがサポートされます。このオプションを設定すると、拡張テーブルをサポートする必要があるハードウェアでは使用されません。
kernelcore=nn[KMG] [KNL,X86,IA-64,PPC]
このパラメーター
kernelcore=[KNL,X86,IA-64,PPC]
Format: nn[KMGTPE] | "mirror"
メモリー nn[KMGTPE] の量を指定する代わりに、mirror オプションを指定できます。mirror オプションが指定されている場合、ミラーリングされたメモリーは移動不可能な割り当てに使用され、残りのメモリーが移動可能なページに使用されます。nn[KMGTPE] オプションと mirror オプションはいずれも排他的です。ユーザーは、nn[KMGTPE] オプションと mirror オプションを同時に指定することはできません。
libata.force=[LIBATA]
* [no]ncqtrim: キューに入れられた DSM TRIM をオンにします。
memmap=nn[KMG]!ss[KMG] [KNL,X86]
特定のメモリーを保護済みとしてマークします。使用するメモリー領域(ss から ss+nn)。メモリーリージョンは e820 タイプ 12 (0xc)とマークされ、NVDIMM または ADR メモリーである必要があります。
module_blacklist=[KNL]
モジュールのコンマ区切りリストは読み込まれません。この機能は、問題モジュールのデバッグに役立ちます。
nfs4.layoutstats_timer=[NFSv4.2]
カーネルが、pNFS メタデータサーバーにレイアウト統計を送信するレートを変更します。
この値をゼロに設定すると、カーネルはレイアウトドライバーがデフォルトに設定した値を使用します。ゼロ以外の値は、レイアウト統計の送信間の最小間隔を秒単位で設定します。
nmi_watchdog=[KNL,BUGS=X86]
SMP カーネルのデバッグ機能。
形式:[panic,][nopanic,][num]
有効な num: 0 または 1
0 - nmi_watchdog をオフにします。
1 - nmi_watchdog をオンにします。
nohugeiomap [KNL,x86]
カーネルの大きな I/O マッピングを無効にします。
watchdog
このパラメーターは、ソフトロックアップ検出および NMI ウォッチドッグによって同時に保証されるハードロックアップ検出を無効または有効にします。
0 - ロックアップ検出の両方を無効にします。
1: ロックアップ検出の両方を有効にします。
ソフトロックアップ検出と NMI ウォッチドッグは、soft_watchdog および nmi_watchdog パラメーターを使用して個別に無効または有効にすることもできます。cat /proc/sys/kernel/watchdog コマンドを実行して watchdog パラメーターを読み取る場合、このコマンドの出力値(0 または 1)は、soft_watchdog および nmi_watchdog の論理 OR を表示します。
noxsaveopt [X86]
x86 拡張レジスターの状態の保存に使用される xsaveopt を無効にします。カーネルは xsave を使用して状態を保存するようにフォールバックします。このパラメーターを使用すると、xsaveopt は変更された最適化をサポートしておらず、xsaveopt が xsaveopt 対応システムでサポートするため、状態の保存のパフォーマンスが低下します。
noxsaves [X86]
xsave 領域の圧縮形式で x86 拡張レジスター状態を保存し、復元するために使用される xsaves および xrstors を無効にします。カーネルは xsaveopt および xrstor を使用して、標準の xsave 領域で状態を保存し、復元するようにフォールバックします。このパラメーターを使用すると、プロセスごとに xsave 領域を有効にすると、xsaves が有効なシステムでより多くのメモリーを占有できます。
nompx [X86]
Intel メモリー保護拡張を無効にします。
この機能の詳細は、Documentation/x86/intel_mpx.txt を参照してください。
nowatchdog [KNL]
ロックアップ検出(soft-lockup および NMI ウォッチドッグ)の両方を無効にします(ハードロックアップ)。
watchdog_cpumask
この値は、ウォッチドッグを実行できる CPU を設定するために使用されます。デフォルトの cpumask はすべて可能なコアですが、カーネル設定で NO_HZ_FULL が有効で、コアが nohz_full=boot 引数で指定されている場合、これらのコアはデフォルトで除外されます。オフラインコアはこのマスクに追加できます。コアが後でオンラインになると、マスク値に基づいてウォッチドッグが開始されます。この値は、カーネルのロックアップがそれらのコアで疑われた場合に、デフォルトでウォッチドッグを実行していないコアを再度有効にする nohz_full ケースでのみ変更できます。引数の値は、cpumasks の標準の cpulist 形式です。
以下に例を示します。
コア 0、2、3、および 4 でウォッチドッグを有効にするには、以下のコマンドを使用します。
echo 0,2-4 /proc/sys/kernel/watchdog_cpumask
watchdog_thresh
この値は、hrtimer および NMI イベントの頻度と、ソフトロックアップおよびハードロックアップのしきい値を設定するために使用されます。デフォルトのしきい値は 10 秒です。ソフトロックのしきい値は 2 * watchdog_thresh です。このパラメーターをゼロに設定すると、ロックアップ検出を完全に無効にします。
schedstats=[KNL,X86]
スケジューラーの統計を有効または無効にします。
使用できる値は enable および disable です。
この機能はスケジューラーに少量のオーバーヘッドが発生しますが、デバッグおよびパフォーマンスチューニングに役立ちます。
usbcore.usbfs_snoop_max=[USB]
各 USB Request Block (URB)で最大バイト数を snoop に設定します。デフォルト値は 65536 です。
usb-storage.quirks=[...]
j = NO_REPORT_LUNS
report luns コマンド( UAS のみ)を使用しません。
workqueue.watchdog_thres
CONFIG_WQ_WATCHDOG が設定されている場合、workqueue は停止状態を警告し、内部状態をダンプしてデバッグに役立ちます。値 0 は workqueue stall 検出を無効にします。そうでない場合は、停止しきい値(秒単位)です。デフォルト値は 30 で、対応する sysfs ファイルに書き込むことでランタイム時に更新できます。
workqueue.power_efficient
CPU ごとのワークキューは、キャッシュ局所性によりパフォーマンスが向上するため、一般的に推奨されますが、バインドされていないワークキューよりも多くの電力を消費します。このカーネルパラメーターにより、CPU ごとの作業キューが作成され、消費電力が大幅にバインドされず、パフォーマンスのオーバーヘッドが小さくなり、電力使用量が大幅に低下します。
perf_event_paranoid
CAP_SYS_ADMIN のない非特権ユーザーによるパフォーマンスイベントの使用を制御します。
デフォルト値は 1 です。
-1 - すべてのユーザーがすべてのイベントを使用できるようにします。
>=0: CAP_IOC_LOCK を使用しないユーザーによる raw トレースポイントアクセスを拒否します。
>=1 - CAP_SYS_ADMIN を使用しないユーザーによる CPU イベントアクセスを拒否します。
>=2: CAP_SYS_ADMIN を使用しないユーザーによるカーネルプロファイリングを拒否します。
/proc/sys/fs
pipe-user-pages-hard:
非特権ユーザーがパイプに割り当てることができるページの最大数を設定します。
この制限に達すると、使用量が制限を上回るまで、新しいパイプを割り当てることができません。0 に設定すると、制限は適用されません。これはデフォルト設定です。
pipe-user-pages-soft:
非特権ユーザーがパイプサイズを 1 ページに制限する前にパイプに割り当てることができるページの最大数を設定します。この制限に達すると、新しいパイプは、合計のメモリー使用量を制限するため、このユーザーのサイズが単一ページに制限されます。fcntl ()関数を使用してページの総数を増やしようとすると、使用量が制限を下回るまで拒否されます。デフォルト値を使用すると、デフォルトサイズで最大 1024 個のパイプを割り当てることができます。0 に設定すると、制限は適用されません。
/proc/sys/kernel
hardlockup_all_cpu_backtrace:
この値は、詳細なデバッグ情報の収集に関するハードロックアップ検出動作を制御します。有効にすると、アーキテクチャー固有のすべての CPU スタックダンプが開始されます。
0 - 何も実行しません。これがデフォルトの動作です。
1 - 検出では、より多くのデバッグ情報をキャプチャーします。