4

I want to write a PowerShell script that checks if my Windows 10 machine entered CPU throttling state (1,17 GHz instead of 2,29 GHz when it happens).

Unfortunately Win32_Processor class always returns 2295 MHz for CurrentClockSpeed object even though host is working at 1170 MHz clock speed.

Same for wmic cpu get CurrentClockSpeed.

Any ideas how can I get REAL current CPU speed?

Host in Throttling State - Image

Ansgar Wiechers
  • 193,178
  • 25
  • 254
  • 328
Frosty
  • 51
  • 3
  • Through performance counters? Get-Counter -Counter "\Processor Information(*)\Processor Frequency" and Get-Counter -Counter "\Processor Information(*)\% of Maximum Frequency" maybe? – David Brabant Sep 21 '17 at 12:12
  • Nope :< but thanks anyway "\\host45\processor performance(ppm_processor_0)\processor frequency:2295" "\\host45\processor performance(ppm_processor_39)\% of maximumfrequency :100" – Frosty Sep 21 '17 at 12:54
  • Depending on your system, some BIOSes provide (WMI) interfaces that might reveal this information. – iRon Sep 21 '17 at 13:45
  • Isn't "wmic" command responsible for this on Windows 10? Already tried that. – Frosty Sep 21 '17 at 14:00
  • @Frosty Could you try running this command for a while? `while($true){get-wmiobject win32_processor | select-object currentclock*,max* | format-table -AutoSize;sleep 3}` The `CurrentClockSpeed` held for me but eventually showed different speeds after a [few iterations](http://prntscr.com/gnzd88). – Persistent13 Sep 21 '17 at 16:20
  • @Persistent13 Nope, still 2295. – Frosty Sep 22 '17 at 13:01

0 Answers0