A.29. memory
メモリーテストの内容
memory テストは、システム RAM のテストに使用されます。USB フラッシュメモリー、SSD ストレージデバイス、その他のタイプの RAM ベースのハードウェアのテストは行っていません。メインメモリーのみをテストします。
HUT が RHEL の最低要求メモリー基準を満たしているかどうかを確認するために、CPU コアごとのメモリーチェック がプランニングプロセスに追加されました。これは、メモリー、コア、リアルタイム、完全仮想化など、いくつかのハードウェア認証テストのプラニング条件となっています。
CPU コアごとのメモリーチェックに合格しなかった場合、上記のテストは自動的に計画されません。しかし、これらのテストは CLI を使用して手動で計画することができます。
RHEL バージョン対応
このテストが行うこと: このテストでは、/proc/meminfo
ファイルを使用して、システムに搭載されているメモリーの量を調べます。インストールされている量がわかると、システムのアーキテクチャーが 32 ビットか 64 ビットかを確認します。そして、スワップスペースが利用可能かどうか、またはスワップパーティションがないかどうかを判断します。このテストは、システムにスワップファイルがあるかどうかによって、若干異なる設定で 1 回または 2 回実行されます。
- スワップが利用可能な場合は、システムに実際に搭載されているよりも多くの RAM をメモリーテストに割り当てます。これにより、実行中にスワップスペースが強制的に使用されます。
- スワップの有無にかかわらず、メモリーテストには可能な限り多くの RAM を割り当てますが、OOM (Out of Memory) キルが発生する限界を超えないようにします。このバージョンのテストは常に実行されます。
メモリーテストの反復では、malloc() は RAM の割り当てに使用され、RAM は任意の 16 進文字列 (0xDEADBEEF) の書き込みでダーティーになり、0xDEADBEEF が想定されるアドレスの RAM に保存されるようにテストが実行されます。テストが完了すると、free() を呼び出して RAM を解放します。プロセスサイズが、テストするメモリーの量よりも大きいか小さいかによって、複数のスレッドまたは複数のプロセスが RAM の割り当てに使用されます。
テストの準備
ポリシーガイドのルールに従って、システムに正しい RAM 容量をインストールします。
テストの実行
メモリーテストは非対話的です。次のコマンドを実行し、表示されるリストから適切な memory
テスト名を選択します。
rhcert-run
ランタイム、ベアメタル
メモリーテストは、2013 年モデルのシングル CPU、6 コア/12 スレッド 3.3GHz Intel ベースで RAM が 8GB の、AMD64、および Intel 64 の Red Hat Enterprise Linux を実行するワークステーションで、実行するのに約 16 分かかります。テストは、より多くの RAM を持つシステムで時間がかかります。必要な supportable テストにより、全体の実行時間が約 1 分長くなります。
ランタイム、フルバータイプのゲスト
fv_memory テストは、ゲストで実行するために、ベアメタルバージョンよりもわずかに長く、18 分程度かかります。この時間は、ゲストのスタートアップ/シャットダウンのアクティビティーと、ゲスト内で実行される必要な supportable テストによるものです。ベアメタルシステムで必要な supportable テストにより、全体の実行時間が約 1 分長くなります。fv_memory テストの実行時間は、ビルド済みゲストに割り当てられた RAM の量が常に同じであるため、ベアメタルメモリーテストほどマシンによる大きな個体差は生じません。基礎となる実際のシステムの速度によって変化しますが、テスト中に使用される RAM の量はマシンごとに変わることはありません。
Creating and Activating Swap for EC2: パートナーは、以下の手順に従って EC2 のスワップを作成およびアクティベートできます。
sudo dd if=/dev/zero of=/swapfile bs=1M count=8000 chmod 600 /swapfile mkswap /swapfile swapon /swapfile swapon -s edit file /etc/fstab and add the following line: /swapfile swap swap defaults 0 0 write file and quit/exit
A.29.1. memory_HBM
Memory_HBM テストの対象となる内容
Memory_HBM テストは、高帯域幅メモリー (HBM) が存在するシステム上でシステムの高帯域幅メモリー (HBM) をテストするために使用されます。3 つの可能なテストのうち 1 つは、HBM 動作モードに基づいて計画されます。システム HBM がサポートされていない場合は、代わりに定期的な メモリー テストが計画されています。
RHEL バージョン対応
- RHEL 8
- RHEL 9
テストの内容
Memory_HBM テストは、HBM が存在するシステム専用のメモリーテストです。
テストの準備
システム HBM が、ポリシーガイドに指定されている要件を満たしていることを確認してください。
テストの実行
rhcert-cli plan
を実行します。HBM 設定が要件と次のいずれかの条件を満たしている場合、memory_HBM テストの 1 つが計画されます。- Memory_HBM_only : システムに DIMM が設置されていない
- Memory_HBM_cache : HBM が DIMM へのキャッシュとして機能する
- Memory_HBM_ flat : メモリーの合計量として DIMM と HBM が使用可能である
-
テストを実行するには、コマンド
rhcert-cli run --test
を使用します。たとえば、rhcert-cli run --test hwcert/memory_HBM_cache
は memory_HBM_cache テストを実行します。 - テストの指示に従ってください。
-
rhcert-print
を使用して結果を確認します。 -
結果を保存するには、
rhcert-save
を使用します。
A.29.2. memory_CXL
テストの対象
memory_CXL テストは、Type 3 コンピュート Express Link (CXL) デバイスを搭載したシステムを評価します。CXL メモリーデバイスの機能を検証し、従来のシステムメモリーとの適切に統合されるようにします。このテストは、接続されている CXL デバイスを識別し、必要に応じてそれらをシステム RAM として再設定し、メモリー帯域幅のパフォーマンスを記録します。
memory_CXL テストを完了した後、メモリーテストを実行します。
RHEL バージョン対応
- RHEL 9.3 以降
テストの内容
memory_CXL テストは、インストールされている CXL メモリーデバイスを検出し、検証します。CXL デバイスの存在を確認するには、次のコマンドを使用します。
lspci -d ::0502
このコマンドは、システム内のすべての PCI デバイスをリスト表示し、CXL メモリーデバイスを識別します。
CXL メモリーデバイスが検出されてもシステム RAM として設定されていない場合は、次のコマンドを使用して再設定します。
daxctl reconfigure-device --mode=system-ram <dax device-id> --no-movable --no-online daxctl offline-memory <dax device-id> daxctl reconfigure-device --mode=system-ram <dax device-id> --no-movable
テストの準備
テストを実行する前に、次の点を確認してください。
- システムには、ポリシーガイドの要件を満たす CXL メモリーモジュールが搭載されている。
- システムファームウェアがインストールされた CXL メモリーを認識する。
- BIOS で CXL SPM (シングルポートメモリー) オプションが有効になっている。
テストの実行
このテストは非対話型です。次のコマンドを実行し、表示されたリストから適切な memory_CXL
のテスト名を選択します。
rhcert-run
ランタイム
テストの完了には、システム設定と CXL メモリーの量に応じて、通常 5 - 10 分かかります。テスト中にシステムが安定して動作し続けることを確認します。