CPU monitoring: hyper threading, current clock speed

27,405

Solution 1

You should be able to do that using the performance monitoring tool that comes with windows 7, which is a 'snap-in of your management console 3.0. I have windows 7 professional, i am not sure if its integrated in Home Edition.

just hit your 'windows'-button and enter perfmon in the textfield (search programs/files).

once that is open you can unfold monitoring tools (if it isnt already opened) then hit on performance monitoring.

  • Hit the 'big green plus'-button,
  • search in the list for 'processor performance'
  • open up its options, below that header you can
  • click on 'processor frequency
  • in the lower pane choose , then
  • hit 'Add >>' button

And here is how that window would look like (well imagine it in english or whatever language you use)

PerfMon-Screenshot(german version)

"OK" the window and you'll get a graphical overview about your core frequencies... you can choose to show a lot of performance information useing this tool ... have fun playing around

Solution 2

hwinfo may be what you are looking for it offers realtime frequency monitor per core:

Screenshot: hwinfo

Link: https://www.hwinfo.com/download.php

Solution 3

To determine whether you are using hardware multi-threading (what Intel calls Hyperthreading, HT) you can use WMI.

  1. The Win32_ComputerSystem class will have one instance with properties NumberOfProcessors and NumberOfLogicalProcessors. The former is the number of sockets (physical CPUs) and the latter is after including HT.

  2. The win32_processor class will have one instance per socket and has properties NumberOfCores and NumberOfLogicalProcessors.

Here, with an i720 with HT enabled and using PowerShell's WMI support (gwmi is an alias for Get-WmiObject):

PS> gwmi win32_computersystem | fl NumberOfProcessors, NumberOfLogicalProcessors


NumberOfProcessors        : 1
NumberOfLogicalProcessors : 8


PS> gwmi  win32_processor | ft NumberOfCores,NumberOfLogicalProcessors

NumberOfCores                         NumberOfLogicalProcessors
-------------                         -------------------------
            4                                                 8
Share:
27,405

Related videos on Youtube

devoured elysium
Author by

devoured elysium

Updated on September 18, 2022

Comments

  • devoured elysium
    devoured elysium over 1 year

    I think it'd be interesting if it were possible to check out at how much Ghz each one of my cores is running. Is it possible, at all?

    • Baarn
      Baarn over 12 years
      you should tell which OS you are using
    • Ingo
      Ingo over 12 years
      didnt he tell us that with his tags?
    • user3660103
      user3660103 over 12 years
      Intel CPUs are always using Hyper-threading and as far as I know, there's no way to see which is real core and which is virtual inside of the operating system. As for frequency, I'd give CPU-Z a shot. It should be able to detect frequency of each core independently and tell you which is running at which frequency.
    • David Schwartz
      David Schwartz over 12 years
      @AndrejaKo What do you mean by "which is real core and which is virtual"? Each real core contains two virtual cores. The real core and the virtual cores are totally different and it is impossible to confuse one with the other. A real core is a real, physical object that you can touch. A virtual core is a logical capability that you cannot touch or point to.
    • user3660103
      user3660103 over 12 years
      @David Schwartz How would you detect if a program is running on a real or a virtual core? If you have the ability to manually assign your process to a particular core, you'd definitely want not to have it running on a real core and that core's virtual core. Also note that the "virtual" cores are also real physical objects that can be touched because they do have circuitry on the CPU itself (but that is irrelevant because even if it were not so, a program can't go outside of the computer and base its ability to see if it's on real or virtual core by determining if it can touch the core or not).
    • David Schwartz
      David Schwartz over 12 years
      @AndrejaKo A program that is running is always running on a real core and a virtual core. It is physically running on a real core and logically running on a virtual core. I think what you are trying to say is that you might want to know whether a process running on two virtual cores was running on two virtual cores implemented in the same physical core or different physical cores. The virtual cores are not real physical objects, they have a physical implementation. (Just like a thought is not a physical object, though it has a physical implementation.)
  • Richard
    Richard over 12 years
    It does, the "to know if they are using hyper threading" aspect (albeit that has been edited out of the title now). I don't claim it is a complete answer, but the other A didn't address this part.