Intel Skylake Xeon Gold 6126 サーバー CPU で Uncore Frequency の読み取りと設定が必要なプロジェクトに取り組んでいます (別の Haswell ベースのプロセッサでも同じことを行う必要があります)。Linux 4.15.0-134 で Ubuntu を実行しています。msr
カーネルモジュールをロードしました。現在の Uncore 周波数を最初に読み取ろうとしています。私は次のことをしています:
sudo wrmsr 0x700 0x2000000000000000
sudo wrmsr 0x703 0x400000
sudo rdmsr 0x704
Intel ディスカッション スレッドで上記の解決策を見つけました
ただし、現在、アンコア周波数の最小値と最大値を変更しようとしています。そのために、最初に最小周波数を読み取ろうとしています (後で参照できるように保存するため)。
sudo rdmsr 0x620
上記は 1818 を返します。この数値が何なのかわかりません。技術文書では、最初の7 ビットをminimum frequency ratio
(10 進数で 24 の値を持つ) と呼んでいます。しかし、この値が何であるかはわかりません。さらに、ドキュメントによると、ビット 8 ~ 14 にはmaximum frequency ratio
. ただし、ビット 8 ~ 14 も 24 になります。
誰かがこれらの値が何であるか説明してもらえますか? そして、それらはどの値に関して計算されますか?
また、アンコア周波数を変更するには、0x620 のレジスタの適切なビットに書き込むだけでよいのでしょうか?
sudo wrmsr 0x620 0x1c18
上記の質問に関して、ご指導いただければ幸いです。