CPU-Z is a free utility that you can use to check on the specifications and performance of the memory and processor(s) in your system. It is available at cpuid.com. This post covers using CPU-Z in Windows and how to interpret the results.
CPU-Z originated in the hardware overclocking community as a way to document how fast your CPU was running. It is still useful for that purpose, but it is also useful for I.T. professionals and more casual users. CPU-Z helps you understand whether any form of processor power management is in effect on your system. You can also run a quick synthetic CPU benchmark test that is useful for comparing different processors and systems.
I have published a YouTube video that complements this post that you might find interesting. Please let me know what you think in the comments on YouTube.
Using CPU-Z in Windows
If you have never used CPU-Z (or even heard of it), I urge you to watch my YouTube video. I walk through each step, from downloading CPU-Z, to running the program and interpreting the results.
After watching the related video and reading this post, you should feel confident using CPU-Z in Windows.
The CPU tab gives you many of the more important specifications for your processor, including the exact name and model number. In this case, we have an AMD Ryzen 9 3950X processor. Once you know the name of your processor, you can use your favorite search engine to find more details about it.
The links below will take you to the Intel and AMD product pages for their most common processors.
- Intel ARK – Processors
- AMD Ryzen Mobile Processors
- AMD Ryzen Desktop Processors
- AMD Ryzen Threadripper Processors
- AMD EPYC Server Processors
I also have a few relevant blog posts that cover my recommended processors for SQL Server.
- Recommended Intel Processors for SQL Server
- AMD EPYC 7F52 for SQL Server Usage
- Recommended AMD Processors for SQL Server
The CPU tab also shows the current clock speed of your various CPU cores. This is extremely valuable for determining if there is any sort of power management in effect on your system.
The Caches tab gives you a little bit more detailed information about the different caches in the processor than the CPU tab does. This is contained in the descriptor field. To be honest, this extra information is not that useful to most people.
The Mainboard tab identifies the motherboard manufacturer and model. If you have a virtual machine (VM) you will also be able to tell that on this tab.
The BIOS section gives you the version and date of your BIOS. Once you know the manufacturer and model of your motherboard, you should be able to check whether or not you have the latest BIOS version.
I am a big proponent of staying as current as possible with my BIOS versions. Both Intel and AMD often fix or improve things in the microcode that they supply to the system vendors that eventually show up as BIOS updates.
For example, AMD has made many improvements in their AGESA releases for Zen 2 processors that have improved memory compatibility, improved performance, and reduced boot times.
The Memory tab identifies the type and overall amount of memory that you have in your system. It also shows how many channels your RAM is using. With most mobile and desktop processors, you want to be in dual-channel mode rather than single-channel mode.
This tab also shows the current DRAM frequency. With most DIY motherboards from vendors like ASUS, ASRock, Gigabyte, and MSI, there is usually an option to enable Extreme Memory Profiles (XMP). This will let your memory run at a higher XMP speed rather than the default JEDEC speed.
You probably won’t have this option on on most systems from large vendors like Dell or HPE. This includes servers. You can still check your memory speeds though, since it is possible that the CPU can officially support higher speed memory.
Depending on the processor, having XMP enabled can have a very noticeable positive impact on performance. I have a lot more details about this in this blog post.
In the example below, my DRAM frequency is only 1064.5 MHz. This is bad, since I have DDR4-3600 memory in my system. If XMP were enabled, I would expect to see a DRAM frequency of about 1800.0 MHz (since it is double data rate RAM).
The serial presence detect (SPD) tab gives you more detailed information about each memory module in your system. It shows you how many memory slots you have, and the details about the memory module in each slot.
There is also a Timings table that shows DRAM frequency and latency information for official JEDEC profiles and for XMP. You want your DRAM frequency from the Memory tab to be as close as possible to the XMP frequency on the SPD tab.
Note: It is fairly common for server processors to not show any SPD information, so all of the fields may be blank and greyed out. This also happens with VMs.
The Graphics tab shows limited information about the various GPUs in your system, as you might expect. This includes the model name and manufacturer, and how much VRAM it has. You will only see this if you have a vendor-specific video driver installed. Otherwise, it will probably be listed as a Microsoft Basic Display Adapter.
To be honest, if you want much more detailed information about your GPU(s), you should use GPU-Z from TechPowerUp. GPU-Z looks very similar to CPU-Z, by design, but it is tightly focused on GPU information and sensor information.
The Bench tab lets you run a very quick (about 15 seconds) synthetic CPU benchmark against your system. First, the benchmark runs a CPU Multi Thread test that measures the overall CPU capacity of your system. This will peg your CPUs at 100% for about 7-8 seconds. Second, it runs a CPU Single Thread test that measures the single-threaded CPU performance. This is a measure of how “fast” your processor is.
For accurate results, you should only run these tests when your system is idle (from a CPU perspective). If your processor cores are busy doing other work, your CPU-Z benchmark scores will be artificially low. You also should run this test several times, with short gaps in between each test, so you can average the results.
Obviously, this is just a very quick synthetic CPU test. But I still find it useful for comparing different processors and different systems. For example, if you had two supposedly identical systems that were getting wildly different results, that would be a reason to do some further investigation. You might find that one system had BIOS-level power management enabled, or Turbo boost disabled.
The About tab shows information about the version and release date of the program, along with the author (Franck Delattre). There are also several tool buttons. They let you save detailed reports in various formats and let you upload and validate your results. Remember, the original reason for this program was to let CPU over-clockers prove what they had done.
The Clocks button opens up a window that displays the real-time clock speeds of every core in your system. In addition, it also shows your memory speed and some GPU-related speeds.
This free utility is extremely useful for determining how your memory and processors are performing. It will let you quickly identify problems with DRAM frequency and with power management. Whether you are a server admin, DBA, or just someone interested in computer hardware, you should be using CPU-Z.
If you have any questions about this post, please ask me here in the comments or on Twitter. I am pretty active on Twitter as GlennAlanBerry. Thanks for reading!