Processors
Intel® Processors, Tools, and Utilities
14565 ディスカッション

Correct MSR to check turbo boost for different CPU models?

mushjoon
初心者
1,615件の閲覧回数
Hello,
I'm trying to check if turbo boost is enabled or not for my servers.
 
I heard that the accurate way to detect the turbo boost status is to directly read the Model Specific Register (MSR) dedicated for Turbo Boost function.
 
Unfortunately, I also read somewhere that MSR is different for each CPU family which I hope I'm wrong here.
 
I heard that
rdmsr -a 0x1ad
is the correct command for turbo boost check.
 
Can I use this command or MSR to check the turbo boost status for the following CPU models?
 
Intel(R) Xeon(R) E-2146G CPU @ 3.50GHz
Intel(R) Xeon(R) CPU E3-1230 v6 @ 3.50GHz
Intel(R) Xeon(R) E-2276G CPU @ 3.80GHz
Intel(R) Xeon(R) E-2286G CPU @ 4.00GHz
Intel(R) Xeon(R) E-2146G CPU @ 3.50GHz
Intel(R) Xeon(R) E-2276G CPU @ 3.80GHz
Intel(R) Xeon(R) CPU E3-1231 v3 @ 3.40GHz
Intel(R) Xeon(R) CPU E3-1230 v6 @ 3.50GHz
 
 
ラベル(1)
0 件の賞賛
7 返答(返信)
mushjoon
初心者
1,547件の閲覧回数

Comment for tracking purpose

Fariz_Intel
モデレーター
1,531件の閲覧回数

Hi mushjoon,


In order to further investigate, could you please let me know the operating system you are using? The 'rdmsr' command requires 'msr-tools' to be installed, and I assume that these utilities might already be present in your system.


Please allow us some time to check if it's possible to use the 'rdmsr' command or MSR to verify the turbo boost status for the following CPUs:


Coffee Lake: E-2146G, E-2276G, E-2286G, E-2146G, E-2276G

Kaby Lake: E3-1230 v6, E3-1230 v6

Haswell: E3-1231 v3


It appears that MSR information for all these CPU models is already included in the Intel® 64 and IA-32 Architectures Software Developer's Manual Volume 4: Model-specific Registers, available at the link below. The manual also includes the latest generation CPU MSR information. Please let us know if there are any specific CPU models for which you need MSR details.


Intel® 64 and IA-32 Architectures Software Developer Manuals

https://www.intel.com/content/www/us/en/developer/articles/technical/intel-sdm.html


You may also refer to the link below for more information on the 'rdmsr' command and MSR.


Reading and Writing Model Specific Registers (MSRs) in Linux

https://www.intel.com/content/www/us/en/developer/articles/technical/software-security-guidance/best-practices/reading-writing-msrs-in-linux.html


CPUID Enumeration and Architectural MSRs

https://www.intel.com/content/www/us/en/developer/articles/technical/software-security-guidance/technical-documentation/cpuid-enumeration-and-architectural-msrs.html


Just for your information, we understand that you need to check the turbo boost status accurately. However, other methods such as cpufrequtils, cpupower, and cpuid are actually sufficient for identifying the turbo boost status.


Example command for windows:


C:\WINDOWS\system32> Get-WmiObject -Namespace root/cimv2 -ClassName Win32_Processor | Select-Object Name, MaxClockSpeed, CurrentClockSpeed


MaxClockSpeed CurrentClockSpeed

------------- -----------------

     2995       2995


This command will display information about your processor, including the maximum clock speed and the current clock speed. If the "CurrentClockSpeed" is close to or equal to the "MaxClockSpeed," then Turbo Boost is likely active.


Best regards,

Fariz_Intel


mushjoon
初心者
1,475件の閲覧回数

Hello Fariz,

 

Thanks for the reply!

 

The OS I'm using is Ubuntu 18.04 ~ 22.04 Server. 

 

Although I'm aware that other tools like cpufrequtils are perfectly capable of detecting whether if Turbo Boost is enabled or not, I had a suspicion that actually reading the MSR value for each CPU model would provide more "accurate" result. 

 

Moreover, since I'm currently writing an Ansible playbook script to scan a lot of servers at once, I'm trying to make the script as lightweight as possible. 

 

Please correct me if I'm wrong or misunderstanding something.

 

Thanks once again

Jack K

mushjoon
初心者
1,432件の閲覧回数

Ok, I read through the manuals that you gave me.

 

It seems this Ubuntu command gives me information about whether if Turbo Boost is enabled or not for my cores

root@dse-seo-001:~> rdmsr -a 0x1A0 -f 38:38
0
0
0
0
0
0
0
0


root@dse-seo-001:~> turbostat -c 0-7 --quiet -i 1
Core CPU Avg_MHz Busy% Bzy_MHz TSC_MHz IPC IRQ SMI POLL C1 POLL% C1% CPU%c1 CPU%c3 CPU%c6 CPU%c7 CoreTmp PkgTmp Totl%C0 Any%C0 GFX%C0 CPUGFX% SYS%LPI PkgWatt CorWatt GFXWatt RAMWatt PKG_% RAM_%
- - 84 2.39 3500 3504 3.18 632 0 7 667 0.02 97.62 97.61 0.00 0.00 0.00 32 32 19.13 18.44 0.00 0.00 0.00 7.81 4.94 0.00 1.75 0.00 0.00
0 0 4 0.11 3500 3504 0.56 25 0 0 38 0.00 99.89 99.89 0.00 0.00 0.00 32 32 19.13 18.44 0.00 0.00 0.00 7.81 4.94 0.00 1.75 0.00 0.00
0 4 10 0.29 3500 3504 0.80 71 0 0 87 0.00 99.72 99.71
1 1 7 0.19 3500 3504 0.70 44 0 1 61 0.03 99.81 99.81 0.00 0.00 0.00 32
1 5 6 0.17 3500 3504 0.52 81 0 1 105 0.03 99.84 99.83
2 2 8 0.21 3500 3504 0.70 187 0 2 195 0.03 99.80 99.79 0.00 0.00 0.00 30
2 6 3 0.07 3500 3504 0.39 28 0 1 38 0.03 99.93 99.93
3 3 5 0.15 3500 3504 0.50 89 0 1 100 0.03 99.85 99.85 0.00 0.00 0.00 32
3 7 628 17.93 3500 3504 3.35 107 0 1 43 0.03 82.07 82.07


root@dse-seo-001:~> lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
Address sizes: 39 bits physical, 48 bits virtual
CPU(s): 8
On-line CPU(s) list: 0-7
Thread(s) per core: 2
Core(s) per socket: 4
Socket(s): 1
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 158
Model name: Intel(R) Xeon(R) CPU E3-1230 v6 @ 3.50GHz
Stepping: 9
CPU MHz: 3500.000
CPU max MHz: 3500.0000
CPU min MHz: 800.0000
BogoMIPS: 6999.82
Virtualization: VT-x
L1d cache: 128 KiB
L1i cache: 128 KiB
L2 cache: 1 MiB
L3 cache: 8 MiB
NUMA node0 CPU(s): 0-7
Vulnerability Gather data sampling: Mitigation; Microcode
Vulnerability Itlb multihit: KVM: Mitigation: VMX disabled
Vulnerability L1tf: Mitigation; PTE Inversion; VMX conditional cache flushes, SMT vulnerable
Vulnerability Mds: Mitigation; Clear CPU buffers; SMT vulnerable
Vulnerability Meltdown: Mitigation; PTI
Vulnerability Mmio stale data: Mitigation; Clear CPU buffers; SMT vulnerable
Vulnerability Retbleed: Mitigation; IBRS
Vulnerability Spec store bypass: Mitigation; Speculative Store Bypass disabled via prctl and seccomp
Vulnerability Spectre v1: Mitigation; usercopy/swapgs barriers and __user pointer sanitization
Vulnerability Spectre v2: Mitigation; IBRS, IBPB conditional, STIBP conditional, RSB filling, PBRSB-eIBRS Not affected
Vulnerability Srbds: Mitigation; Microcode
Vulnerability Tsx async abort: Mitigation; TSX disabled
Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good n
opl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f
16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid mpx rds
eed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm arat pln pts hwp hwp_notify hwp_act_window hwp_epp md_clear flush_l1d arch_capabilities

 

However, based on turbostat's reading and my CPU's basic frequency of 3.50GHz, it seems that the turbo boost is not enabled.

 

But when I type rdmsr -a 0x1A0 -f 38:38, it gives me the output of 0 for all cores, which means that turbo boost IS actually enabled.

 

Am I using the wrong register here to read the turbo boost ON/OFF status? 

 

 

I also tried MSR_TURBO_RATIO_LIMIT because my CPU is Kaby Lake generation but how can I use turbo ratio limit to figure out if the turbo boost is enabled or not?

 

root@dse-seo-001:~> rdmsr -a 0x1AD
25262627
25262627
25262627
25262627
25262627
25262627
25262627
25262627

 

Thanks

Jack K

Fariz_Intel
モデレーター
1,447件の閲覧回数

Hi mushjoon,


I see. Actually, we are trying to gather more information about your environment. For example, aside from writing Ansible playbook scripts, are you developing any additional software, or is your focus solely on Ansible? Kindly allow some time as we check with the engineering team; this may take a while. We will get back to you once we have an update. We sincerely apologize for any inconvenience this may have caused.


You can also create an account on the Intel Developer Zone (Intel DevZone) for more details, especially if you are looking to develop software. You can refer to the link below:


Intel Developer Zone

https://www.intel.com/content/www/us/en/developer/overview.html


How to Apply for an Intel® Resource and Documentation Center (RDC) and/or Intel® Developer Zone (Intel® DevZone) Account

https://www.intel.com/content/www/us/en/support/articles/000058073/programs/resource-and-documentation-center.html


Best regards,

Fariz_Intel


Fariz_Intel
モデレーター
1,422件の閲覧回数

Hi mushjoon,


It seems that MSR_TURBO_RATIO_LIMIT shows the maximum turbo frequency. If we use the conventional method to convert the last two Hex numbers (25262627), it will display 3.9GHz (27 in decimal is 39 and multiplied by 100MHz). This implies that the turbo boost is very likely already enabled.


We are not certain about the readings from turbostat or lscpu; perhaps you might want to check with Ubuntu support or forums. It could be related to the grub/kernel version, but we believe they are a better point of contact for this kind of issue.


Since rdmsr is a little bit outside of our scope, we recommend that you seek help from the Intel Developer Zone (Intel DevZone), as they may be able to assist you further. We also suggest that you primarily test on E-2146G (Coffee Lake family), as E3-1230 v6 and E3-1231 v3 have been discontinued.


Please let us know if you need further clarification. We sincerely apologize for not being able to provide better assistance. 



Best regards,

Fariz_Intel


Fariz_Intel
モデレーター
1,300件の閲覧回数

Hi mushjoon,


Just in case, if you need any additional information, please submit a new question, as this thread will no longer be monitored.


Best regards,

Fariz_Intel


返信