5.7. カーネル

RHEL 8.2 のカーネルバージョン

Red Hat Enterprise Linux 8.2 には、カーネルバージョン 4.18.0-193 が同梱されています。

外部カーネルパラメーターの重要な変更」および「デバイスドライバー」も参照してください。

(BZ#1797671)

RHEL 8.2 向け Extended Berkeley Packet Filter

extended Berkeley Packet Filter (eBPF ) は、限られた一連の関数にアクセスできる制限付きサンドボックス環境において、カーネル領域でのコード実行を可能にするカーネル内の仮想マシンです。この仮想マシンは、特別なアセンブリーのようなコードを実行します。eBPF バイトコードが最初にカーネルにロードされ、その後に検証が行われます。次に実行時のコンパイルでコードがネイティブマシンコードに変換され、その後、仮想マシンがコードを実行します。

Red Hat は、eBPF 仮想マシンを使用するコンポーネントを数多く提供しています。各コンポーネントの開発フェーズはさまざまです。そのため、現在すべてのコンポーネントが完全にサポートされている訳ではありません。RHEL 8.2 では、以下の eBPF コンポーネントがサポートされています。

  • BPF Compiler Collection (BCC) ツールパッケージ。これは、効率的なカーネル追跡とプログラムの操作に eBPF 仮想マシンを使用する、動的カーネル追跡ユーティリティーのユーザー空間コレクションです。BCC は、eBPF を使用して、Linux オペレーティングシステムの I/O 分析、ネットワーキング、およびモニタリング用のツールを提供します。
  • BCC ライブラリー。これを使用すると、BCC ツールパッケージで提供されるツールと同様のツールを開発できます。
  • eBPF for Traffic Control (tc) 機能。これにより、カーネルネットワークデータパスでのプログラミング可能なパケット処理が可能になります。

特定のコンポーネントがサポート対象と示されていない限り、その他のすべての eBPF コンポーネントはテクノロジープレビューとして提供されます。

現在、以下の主要 eBPF コンポーネントは、テクノロジープレビューとして利用できます。

  • bpftrace トレース言語
  • eXpress Data Path (XDP) 機能

テクノロジープレビューのコンポーネントに関する詳細情報は、テクノロジープレビューを参照してください。

(BZ#1780124)

Control Group v2 は、RHEL 8 で完全に対応されるようになりました。

Control Group v2 メカニズムは、統一された階層制御グループです。Control Group v2 は、プロセスを階層的に編成し、制御された設定可能な方法で、階層に従ってシステムリソースを分配します。

以前のバージョンとは異なり、Control Group v2 には階層が 1 つしかありません。このように階層が単純であるため、Linux カーネルでは次のことが可能になります。

  • 所有者の役割に基づいたプロセスの分類
  • 複数の階層でポリシーが競合する問題の解消

Control group v2 は、非常に多くのコントローラーに対応します。以下に例を示します。

  • CPU コントローラーにより、CPU サイクルの配分が調整されます。このコントローラーには以下が実装されています。

    • 通常のスケジューリングポリシーに対する重みおよび絶対帯域幅制限のモデル
    • 実時間スケジューリングポリシーに対する絶対帯域幅割り当てモデル
  • cpuset コントローラーは、プロセッサーやプロセスのメモリー配置を、cpuset インターフェースファイルで指定されたリソースのみに制限します。
  • メモリーコントローラーは、メモリー配分を調整します。現在、次の種類のメモリー使用量が追跡されます。

    • ユーザー側のメモリー (ページキャッシュと匿名メモリー)
    • dentry、inode などのカーネルデータ構造
    • TCP ソケットバッファー
  • I/O コントローラーは、I/O リソースの配分を制限します。
  • ライトバックコントローラーは、メモリーコントローラーおよび I/O コントローラーの両方と対話し、Control Group v2 に固有のものです。

上記の情報は、Control Group v2 のアップストリームのドキュメントに基づいています。ここでは、個別の Control Group v2 コントローラーに関する情報を参照できます。

アップストリームドキュメントに記載の全機能が RHEL 8 に実装されているわけではないので注意してください。

(BZ#1401552)

空きリストのランダム化により、ダイレクトマップ方式のメモリーサイドキャッシュのパフォーマンスおよび使用状況が改善されました。

今回の機能強化により、ページアロケーターを有効にして空きリストをランダム化し、ダイレクトマップ方式のメモリー側キャッシュの平均使用率を高めることができるようになりました。カーネルコマンドラインオプション page_alloc.shuffle により、ページアロケーターは空きリストのランダム化が可能になり、ブール値フラグが True に設定されます。sysfs ファイルは、/sys/module/page_alloc/parameters/shuffle にあります。このファイルは、フラグの状態を読み取り、空きリストをシャッフルします。このため、Dynamic Random Access Memory (DRAM) がキャッシュされ、DRAM と永続メモリー間のレイテンシー幅が低減されます。その結果、大容量で帯域幅が狭い永続メモリーを汎用サーバープラットフォームで利用できます。

(BZ#1620349)

TPM ユーザー空間ツールが最新バージョンに更新されました。

tpm2-tools ユーザー空間ツールがバージョン 3.2.1 に更新されました。今回の更新では、特に Platform Configuration Register コードおよび man ページのクリーンアップに関連するバグ修正が複数追加されました。

(BZ#1725714)

C620 シリーズの PCH チップセットが Intel Trace Hub 機能に対応するようになりました。

今回の更新で、C620 シリーズプラットフォームコントローラーハブ (PCH) (別称 Lewisburg PCH) の Intel トレースハブ (TH) のハードウェアサポートが追加されました。C620 シリーズ PCH を使用するユーザーは Intel TH を使用できるようになりました。

(BZ#1714486)

perf ツールは、CLX-AP および cpx プロセッサーのダイ別イベント集計をサポートするようになりました。

今回の更新で、perf ツールは、ダイが複数ある一部の CPU でダイ別のイベント数集計をサポートするようになりました。このモードを有効にするには、Xeon Cascade Lake-AP (CLX-AP) および Cooper Lake (CPX) システムプロセッサーの -a オプションに、--per-die オプションが追加されました。今回の更新では、このサポートが追加され、ダイ間でバランスが取られていない状態が検出されるようになりました。perf stat コマンドはイベント数をキャプチャーし、出力を以下のように表示します。

# perf stat -e cycles --per-die -a -- sleep 1
 Performance counter stats for 'system wide':
S0-D0           8         21,029,877      cycles
S0-D1           8         19,192,372      cycles

(BZ#1660368)

IBM Z では crashkernel=auto のしきい値が減少します。

IBM Z システムの crashkernel=auto カーネルコマンドラインパラメーターのしきい値の下限が 4G から 1G に減ります。今回の実装により、IBM Z は AMD64 および Intel 64 システムのしきい値に合わせて、crashkernel=auto のしきい値の下限に対して同じ予約ポリシーが使用できるようになりました。これにより、クラッシュカーネルは、RAM が 4GB 未満のシステムで kdump のメモリーを自動的に予約できます。

(BZ#1780432)

numactl マニュアルエントリーにより、メモリー使用量の出力が明らかになります。

RHEL 8 の今回のリリースでは、numactl の man ページで、メモリー使用量の情報はシステム上の常駐ページしか反映しないということが明示的に説明されています。これは、メモリー使用量の情報が常駐ページに関連するのか仮想メモリーに関連するのかについて、ユーザーが混乱する可能性をなくすために追加されました。

(BZ#1730738)

kexec-tools ドキュメントが更新され、Kdump FCoE ターゲットのサポートが含まれるようになりました。

今回のリリースでは、/usr/share/doc/kexec-tools/supported-kdump-targets.txt ファイルが更新され、Kdump Fibre Channel over Ethernet (FCoE) ターゲットのサポートが含まれるようになりました。その結果、FCoE ターゲットサポートでの kdump クラッシュダンプ機構の状態と詳細について、理解を深めることが可能になりました。

(BZ#1690729)

ファームウェア支援ダンプが PowerNV をサポートするようになりました。

ファームウェア支援ダンプ (fadump) メカニズムが PowerNV プラットフォームでサポートされるようになりました。この機能は、IBM POWER9 FW941 ファームウェアバージョン以降でサポートされます。システム障害の発生時には、fadumpvmcore ファイルとともに、 opalcore もエクスポートします。opalcore ファイルには、障害時の OpenPower Abstraction Layer (OPAL) メモリーの状態に関する情報が含まれます。opalcore ファイルは、OPAL ベースシステムのクラッシュのデバッグに役立ちます。

(BZ#1524687)

kernel-rt ソースツリーが、最新の RHEL 8 ツリーに一致するようになりました。

kernel-rt ソースが更新され、最新の RHEL カーネルソースツリーを使用するようになりました。リアルタイムパッチセットも、最新のアップストリーム v5.2.21-rt13 バージョンに更新されました。これらの更新はいずれも、バグ修正および機能強化を多数提供します。

(BZ#1680161)

rngd が root 以外の権限で実行可能になりました。

乱数ジェネレーターデーモン (rngd) は、乱数性のソースによって供給されるデータが十分にランダムなものかどうかをチェックしてから、カーネルの乱数エントロピープールにデータを格納します。今回の更新で、システムセキュリティーを向上するために、root 以外のユーザー権限で rngd を実行できるようになりました。

(BZ#1692435)


このページには機械翻訳が使用されている場合があります (詳細はこちら)。