Windows Operating System Metrics: CPU


This is a screenshot I took of my CPU metrics on my computer. This post provides a deep dive into the information contained in the Task Manager panel.

CPU Metrics from Task Manager
CPU metrics

The Graph

The graph shows a sliding window plot of CPU utilization against time.

  • Utilization: shows how much ‘work’ is being done by the processor. This includes both user and kernel times.
    • User time: shows when the processor is busy doing user tasks. Examples include the section with the yellow highlight and the part labelled ‘2’.
    • Kernel time (also privileged time): shows when the CPU is busy doing operating system work e.g. using drivers, housekeeping or scheduling  jobs etc. This section is the darker blue layer with dashed edges in the picture above (also labelled 1)
  • Time window: The default is 60 seconds, however, you can right-click on the graph and update the time window.

Operating System Level Information

  1. Utilization: How busy the processor is; the single view shows total usage across all cores while the split view will show distinct graphs for each core. Right-clicking the graph allows you to swap between single and split views.
  2. Speed: The speed at which the CPU is running.
  3. Processes: The number of active CPU processes.
  4. Threads: The number of threads spawned by each of the running processes above. It appears my CPU has an average of 12 threads per process.
  5. Handles: The number of object handles across all process internal tables. Handles are object references representing system resources such as threads, files or images. Read more here.
  6. Uptime: This shows how long the system has been on; the counter is reset on restarts; the format is DD:HH:MM:SS (4:12:11:24 means my computer had been up for 4 days, 12 hours, 11 minutes and 24 seconds).

CPU-related Information

  • Base Speed: the base speed of the CPU; not that it is actually running faster than this advertised speed.
  • Sockets: this is the number of physical CPUs present on the machine.
  • Cores: This shows the processing units available inside the processors. I have 4 cores inside one physical processor unit. The Intel i5 is a quad-core processor.
  • Logical Processors: the available processors that can handle work on the machine. This number is obtained by multiplying the number of physical cores by the number of threads that can run on each core. My computer has 4 logical cores, 4 physical cores and can only run one thread per core.
  • Virtualization: Helps the CPU to optimally run multiple operating systems at the same time. Can help improve performance when running virtual machines but also come with some security risk so most folks disable it to mitigate this. This flag shows whether CPU based virtualization is enabled or not.
  • L1 cache: This shows the size of the Level 1 cache (also called primary cache). This is the fastest and also the smallest cache.
  • L2 cache: The size of the next level cache, it’s bigger than the L1 cache but also slower to access than it.
  • L3 cache: The size of the third layer, bigger than the earlier two caches but also slower than both.

Notes

  • Idle time: the inverse complement of Processor time; if the CPU is not busy it is idle. It is the difference between the graph and the top of the graph.
  • Some CPUs might have an L4 cache
  • The ‘Open Resource Monitor’ enables you to view even more detailed information.
  • Hyperthreaded processors, which might simulate more than one thread per core, can seem to expose more logical cores to the operating system.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.