次の方法で共有

Azure仮想マシンのCPUが起動2時間ほどで常時100%となる

27287909 20 評価のポイント
2026-05-28T02:40:55.19+00:00

<質問>

 仮想マシンのCPUが起動後から2時間ほどでCPUが常時100%となり動作が重くなります。

 CPUクレジットの枯渇が原因となりますでしょうか。

 また、改善方法としてインスタンスを「F2s_v2」などの非バーストのインスタンスと

 することは有効でしょうか。

 CPUクレジットの消費量が共有量を上回っていると見受けられるため、

 CPUクレジットの枯渇が要因と考えていますが、CPUがインスタンスの

 ベースラインの40%未満の状態で推移している点から判断ができません。

<仮想マシン>

 ・インスタンス:Standard B2s

 ・ディスク:Standard HDD

 ・OS:2022 datacenter-g2

<メトリック>

 ・Percentage CPU(Avg)

  起動後2時間ほどで40.75%から19.17%に下がり、以降は19.17%と23.39%の範囲で推移

 ・CPU Credits Consumed(Sum)

  起動後2時間ほどで4~5クレジット前後から2クレジット前後まで下がり、

  以降は1.52と2.73クレジットの範囲で推移

 ・CPU Credits Remaining(Avg)

  起動後2時間ほどで2.32クレジットまで下がり続け、以降は1.62と1.95クレジットの範囲で推移

Azure Virtual Machines
Azure Virtual Machines

Windows および Linux 仮想マシンのプロビジョニングに使用される Azure サービス。

0 件のコメント コメントはありません

質問作成者が受け入れた回答

samiya123 805 評価のポイント Microsoft 外部スタッフ モデレーター
2026-05-28T05:21:07.9+00:00

**K**様、ご連絡ありがとうございます。

はい、原因は CPU クレジットの制限によるスロットリング(制御)でほぼ間違いございません

  • 改善策として Fsv2やDv2/Dv3など非バースタブルVMに切り替えることは有効
  • 表示が「CPU 100%」なのは OS 内部で処理がスロットルされた結果、割当vCPU がフル稼働しているため(物理リソースが制限されても、仮想CPUは閾値内で100%を示す)。

なぜ Percentage CPU メトリックが約20%なのか

  • Azure のメトリックは「物理リソース全体に対する利用率」を示します。
  • B2s ベースラインは 40%(= 40%のCPU時間を常時利用可)。これを超えると、クレジット消費モードに。
  • 起動後2時間 → クレジット急減 → クレジットがほぼ枯渇 → ベースライン性能(40%)に制限される
  • その結果:
    • ゲストOS側 → 上限いっぱいのCPUで常時100%(スロットリング感)
      • Azureメトリック → 40%弱に制御されているので20%~40%に見える

改善策

  1. ワークロードがバースト前提でない場合
    • 非バースト型の VM(F2s_v2、Dv2 シリーズなど)にスケールアップ
      • 常時CPU高負荷のバッチ処理やアプリはBシリーズ不向き
      1. 一時的な改善(学習目的)
        • サイズ変更時に「クレジットリセット」され、一時的に高速化
          • ただし負荷特性が変わらなければ再発するため根本的には非バーストVMへ変更
          1. 確認するポイント
            • 「CPU Credits Remaining」「CPU Credits Consumed」グラフで枯渇タイミングを確認
              • ワークロードが平均でベースラインを上回っている場合、Bシリーズは維持困難

公式ドキュメント

「クレジット不足時にCPUがベースライン性能に制限される」 「常時高負荷ならDv2/ Fsv2などの従量課金VM推奨」


まとめ

  • 現状は CPUクレジットの制御により、OSレベルで100%、Azureモニタで~20%の二重現象が発生中。
  • 負荷特性が変わらないなら、F2s_v2やDv2など非バーストVMが適切
    • はい、原因は CPU クレジットの制限によるスロットリング(制御)でほぼ間違いありません
    • 改善策として Fsv2やDv2/Dv3など非バースタブルVMに切り替えることは有効
    • 表示が「CPU 100%」なのは OS 内部で処理がスロットルされた結果、割当vCPU がフル稼働しているため(物理リソースが制限されても、仮想CPUは閾値内で100%を示す)。
    何かご参考にしていただけるところがございましたら、幸いです。

この回答は役に立ちましたか?

1 人がこの回答が役に立ったと思いました。

0 件の追加の回答

並べ替え方法: 最も役に立つ

お客様の回答

質問作成者は回答に "承認済み"、モデレーターは "おすすめ" とマークできます。これにより、ユーザーは作成者の問題が回答によって解決したことを把握できます。