第7章 システムレイテンシーテストの実行および解釈
RHEL for Real Time は、負荷がかかった状態でシステムのリアルタイムパフォーマンスをテストするための rteval
ユーティリティーを提供します。
7.1. システムレイテンシーテストの実行
rteval
ユーティリティーを使用すると、負荷がかかった状態でシステムのリアルタイムパフォーマンスをテストできます。
前提条件
-
RHEL for Real Time
パッケージグループがインストールされている。 - システムの root 権限がある。
手順
rteval
ユーティリティーを実行します。# rteval
rteval
ユーティリティーは、SCHED_OTHER
タスクの高いシステム負荷を開始します。次に、それぞれのオンライン CPU でリアルタイムの応答を測定します。負荷は、ループの Linux カーネルツリーとhackbench
の合成ベンチマークの並列のmake
になります。その目的は、システムを、それぞれのコアに常にスケジュールするジョブがある状態にすることです。ジョブは、メモリーの割り当て/解放、ディスク I/O、コンピュートタスク、メモリーコピーなどのさまざまなタスクを実行します。
負荷が開始されると、
rteval
はcyclictest
測定プログラムを開始します。このプログラムは、各オンラインコアでSCHED_FIFO
リアルタイムスレッドを起動します。その後、リアルタイムスケジューリングの応答時間を測定します。各測定スレッドはタイムスタンプを取得し、ある間隔スリープした後、ウェイクアップ後に再度タイムスタンプを取得します。測定されたレイテンシーは
t1 - (t0 + i)
です。これは、実際のウェイクアップ時刻t1
と、最初のタイムスタンプの理論的なウェイクアップ時刻t0
にスリープ間隔i
を加えたものとの差になります。rteval
実行の詳細は、システムのブートログと共に XML ファイルに書き込まれます。このレポートは画面に表示され、圧縮されたファイルに保存されます。ファイル名は
rteval-<date>-N-tar.bz2
の形式になっています。ここで、<date>
はレポートが生成された日付に置き換えます。N
は<date>
の N 番目の実行のカウンターになります。以下は、
rteval
レポートの例です。System: Statistics: Samples: 1440463955 Mean: 4.40624790712us Median: 0.0us Mode: 4us Range: 54us Min: 2us Max: 56us Mean Absolute Dev: 1.0776661507us Std.dev: 1.81821060672us CPU core 0 Priority: 95 Statistics: Samples: 36011847 Mean: 5.46434910711us Median: 4us Mode: 4us Range: 38us Min: 2us Max: 40us Mean Absolute Dev: 2.13785341159us Std.dev: 3.50155558554us
レポートには、システムハードウェア、実行の長さ、使用したオプション、およびタイミング結果 (CPU ごとおよびシステム全体) の詳細が表示されます。
注記生成されたファイルから
rteval
レポートを再生成するには、以下を実行します。# rteval --summarize rteval-<date>-N.tar.bz2