Hyper-Vゲストの最大CPU周波数を有効にしようとしています。 Hyper-Vの物理ホストでは、4.4GHzでCPUが表示され、速度が向上します。
ただし、CPU速度は、Hyper-Vゲストのデフォルト速度である3.31Ghzです。
BIOSからC1、C6状態を無効にし、ターボブースト、ターボブースト最大3.0を有効にしました。また、ホストOSとゲストOSの両方に「高性能」のpowercfgを設定しました。 CPU-Zも、タスクマネージャーの表示と同じ速度で表示されます。
ゲストOSで最大CPU速度を使用するにはどうすればよいですか?
ホスト:Hyper-Vサーバー2016
ゲスト:Windows Server 2016 Standard
CPU:Intel I9 7900X
マザーボード:Asrock x299
@ewwhiteで説明されているソリューションのように、すべてのC状態と、SpeedShiftとして「ネイティブモード」を使用したP状態を有効にしました。ただし、今回はCPU速度が3.3GHzのデフォルト速度にロックされています。そして、cpu-zは1.2Ghzを表示しました:
Cステートを無効にすると、TurboBoostを使用する機能が損なわれます。
ただし、TurboBoostはすべてのコアで一度にアクティブになるわけではなく、システムで他に何が起こっているかに依存することに注意してください。これはフルタイムの速度向上ではありません。 それは日和見主義です。
最大ターボブースト周波数に到達するには、深いC状態(C状態1より上)を許可し、CPUコア周波数スケーリング(P状態)を有効にする必要があります。
最近、サーバーBIOSでLinuxシステムとハイパーバイザーをOS制御モードに設定しています。必要なのはそれだけです。
ターボブーストを有効にしても、CPUが常に最大ターボブースト周波数で動作するわけではありません。重い作業負荷に基づいて、最大ターボ周波数に達する可能性があります。ゼロを指定したスナップショットのCPU使用率を確認します。
重負荷などのベンチマーキングツールを実行して、CPUパフォーマンスが最大に達することを確認してください。
C状態はCPUの省電力機能であり、CPUの作業負荷に基づいてのみアクティブになるため、有効にする必要があります。