第34章 stress-ng を使用したリアルタイムのシステムのストレステスト
stress-ng ツールは、望ましくない条件下で良好なレベルの効率を維持するシステムの機能を測定します。stress-ng ツールは、すべてのカーネルインターフェイスに負荷およびストレスをかけるためのストレスワークロードジェネレーターです。これには、ストレッサーと呼ばれるさまざまなストレスメカニズムが含まれています。ストレステストにより、マシンに負荷がかかり、システムが過負荷になっているときに発生するサーマルオーバーランやオペレーティングシステムのバグなどのハードウェアの問題が発生します。
270 以上の異なるテストがあります。これらには、浮動小数点、整数、ビット操作、制御フロー、および仮想メモリーテストを実行する CPU 固有のテストが含まれます。
一部のテストは、設計が不十分なハードウェア上のシステムのサーマルゾーントリップポイントに影響を与える可能性があるため、stress-ng ツールの使用には注意が必要です。これは、システムパフォーマンスに影響を与え、過度のシステムスラッシングを引き起こし、停止が困難になる可能性があります。
34.1. CPU 浮動小数点ユニットとプロセッサーデータキャッシュのテスト リンクのコピーリンクがクリップボードにコピーされました!
浮動小数点ユニットは、浮動小数点算術演算を実行するプロセッサーの機能部分です。浮動小数点ユニットは算術演算を処理し、浮動小数点数または小数の計算を簡単にします。
--matrix-method オプションを使用すると、CPU 浮動小数点演算とプロセッサーデータキャッシュのストレステストを行うことができます。
前提条件
- システムの root 権限がある。
手順
1 つの CPU で浮動小数点を 60 秒間テストするには、
--matrixオプションを使用します。stress-ng --matrix 1 -t 1m
# stress-ng --matrix 1 -t 1mCopy to Clipboard Copied! Toggle word wrap Toggle overflow 複数のストレッサーを複数の CPU で 60 秒間実行するには、
--timesまたは-tオプションを使用します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow ストレッサーが 0 の特別なモードでは、実行可能な CPU をクエリするため、CPU 番号を指定する必要はなくなります。
必要な合計 CPU 時間は 4 x 60 秒 (240 秒) で、そのうち 0.13% がカーネル、85.50% がユーザー時間、
stress-ngがすべての CPU の 85.64% を実行します。POSIX メッセージキューを使用してプロセス間でメッセージが渡されることをテストするには、
-mqオプションを使用します。stress-ng --mq 0 -t 30s --times --perf
# stress-ng --mq 0 -t 30s --times --perfCopy to Clipboard Copied! Toggle word wrap Toggle overflow mqオプションは、POSIX メッセージキューを使用してコンテキストスイッチを強制する特定の数のプロセスを設定します。このストレステストは、データキャッシュミスを少なくすることを目的としています。