treedown’s Report

システム管理者に巻き起こる様々な事象を読者の貴方へ報告するブログです。会社でも家庭でも"システム"に携わるすべての方の共感を目指しています。

※https化しました。その影響でしばらくリンク切れなどがあるかもしれませんが徐々に修正していきます。 リンク切れなどのお気づきの点がございましたらコメントなどでご指摘いただけますと助かります。

PCに擬似的に負荷を掛けて検査するツール

トラブルシューティングで擬似的にPCに負荷が掛かっている状態を作り出してくれるツール、意外と問題の切り分けとか再現性の確認に有用なことがあります。
今日は、Windows環境で擬似的に負荷を掛けてくれる便利ツールをご報告です。

CPUに負荷を掛ける用事があった

この間「古いThinkPadのCPUスピードにACアダプタとバッテリが影響する話 - treedown’s Report」にて、CPUの使用率を環境別に調査するために、擬似的に負荷を掛けたいと思うことがありました。

そのときに使ったツール、今後も役に立ちそうなので、使い方をメモ。

CPUStres

Microsoft Sysinternalsでダウンロード可能なツール。CPUStresというツールです。
特に利用上の制限もなく、無償のツールで思い立ったらダウンロードして使用開始することが可能です。

https://docs.microsoft.com/ja-jp/sysinternals/downloads/cpustres

※現在v2.0となっています。

以下、解説からちょっと抜粋。

CPUStresはCPUアクティビティをシミュレートするためのユーティリティです。

各スレッドは個別に開始・一時停止・停止でき、次のパラメータを使用して構成が可能です。
アクティビティレベル:低、中、ビジー、最大のいずれかでスレッドがスリープする時間を制御できます。この値をMaximumに設定するとスレッドは継続的に実行されます。
優先度:スレッドの優先度を制御します。

早い話が、CPUに負荷を掛けて擬似的にPCが忙しい状態を作り出すことができる、というツールです。

簡単に使ってみる

それでは単純に、負荷を掛けて、負荷を掛けている状態を解除(元に戻す)という単純なテストをやってみることにします。

上述のURLリンクからZIPファイル(CPUSTRES.zip)をダウンロードし、適当な場所に展開、展開したEXEファイルを実行します。

f:id:treedown:20210413005238p:plain
64ビットOSで実行する時は、「CPUSTRES64.EXE」を実行します。

f:id:treedown:20210413005419p:plain

起動した画面。タイトルに「CPU Stress」と表示されています。
例えば、全体にちょっとした中負荷くらいをかけてみるには、CPUを全て選択して、右クリックし、

f:id:treedown:20210413005623p:plain

「Active Level」を選択して、「Busy(75%)」を選択してみます。選択後、[Activity]表示がBusyに変化します。

f:id:treedown:20210413005737p:plain
この時点ではまだ実際に負荷は掛かっていません。実際のタスクマネージャの画面でも、

f:id:treedown:20210413005819p:plain

バックグラウンドでタスクが動作しているので一部CPUが動作しちゃっていますが、まだ忙しいほどではない。
さっそく、これを忙しくしてみます。
CPU Stressの画面に戻って、選択済の四つのコアが選択された状態のまま、右クリックし、

f:id:treedown:20210413010103p:plain

「Activate」をクリックします。すると…

f:id:treedown:20210413010141p:plain

[Active?]欄が「Yes」の表記に四つ全てが変わり、CPUは勢いよく(何らかの)処理を開始します。

タスクマネージャの画面がこのような感じ。
f:id:treedown:20210413010201p:plain
Busy状態に変更したタイミングから急激に処理の量を示すグラフが増大している様子が見えます。使用率も一気に87%まで上昇しました。

このまま放っておいたら、高負荷の状態をずっと維持し続けますので、高負荷状態のコンピュータを擬似的に作り出した状態で動作テストができます。

テストを終了し、CPUの負荷を元通り軽くするには、元のCPU Stress画面で、

f:id:treedown:20210413010243p:plain
右クリックから「Deactivate」を選択します。すると、

f:id:treedown:20210413010313p:plain

[Active?]欄のYesが消えて、ツールによって生み出されていた負荷がなくなるので、CPUが元に戻ります。(以下)

f:id:treedown:20210413010327p:plain
タスクマネージャ画面でも、Deactivateを選択した直後に急激にCPUの処理を示すグラフが急降下していることが見て取れます。ちょっと待つと、

f:id:treedown:20210413011047p:plain
完全に落ち着きました。

基本は、忙しい状態を設定して、Activateで有効化、Deactivateで無効化を切り替える、という感じです。

便利?使いドコロ

一見すると何に使うの?と思うツールですが、例えばサーバに擬似的に負荷を掛けて負荷テストをするとか、エラーや障害が発生した時に同じような状態を再現するためにわざとサーバを忙しくする、とか。

あとPCでは前述のようなテストをする他に、わざと負荷を上げてバッテリの消費を早くする=バッテリの充放電のリフレッシュ、なんかにも使えそうかなと。