Windows および Linux 仮想マシンのプロビジョニングに使用される Azure サービス。
**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%に見える
- ゲストOS側 → 上限いっぱいのCPUで常時100%(スロットリング感)
改善策
- ワークロードがバースト前提でない場合
- → 非バースト型の VM(F2s_v2、Dv2 シリーズなど)にスケールアップ
- 常時CPU高負荷のバッチ処理やアプリはBシリーズ不向き
- 一時的な改善(学習目的)
- サイズ変更時に「クレジットリセット」され、一時的に高速化
- ただし負荷特性が変わらなければ再発するため根本的には非バーストVMへ変更
- 確認するポイント
- 「CPU Credits Remaining」「CPU Credits Consumed」グラフで枯渇タイミングを確認
- ワークロードが平均でベースラインを上回っている場合、Bシリーズは維持困難
- 「CPU Credits Remaining」「CPU Credits Consumed」グラフで枯渇タイミングを確認
- サイズ変更時に「クレジットリセット」され、一時的に高速化
- → 非バースト型の VM(F2s_v2、Dv2 シリーズなど)にスケールアップ
公式ドキュメント
「クレジット不足時にCPUがベースライン性能に制限される」 「常時高負荷ならDv2/ Fsv2などの従量課金VM推奨」
まとめ
- 現状は CPUクレジットの制御により、OSレベルで100%、Azureモニタで~20%の二重現象が発生中。
- 負荷特性が変わらないなら、F2s_v2やDv2など非バーストVMが適切。
-
- はい、原因は CPU クレジットの制限によるスロットリング(制御)でほぼ間違いありません。
- 改善策として Fsv2やDv2/Dv3など非バースタブルVMに切り替えることは有効。
- 表示が「CPU 100%」なのは OS 内部で処理がスロットルされた結果、割当vCPU がフル稼働しているため(物理リソースが制限されても、仮想CPUは閾値内で100%を示す)。