On Windows, open Task Manager (Ctrl+Shift+Esc), go to Performance > Memory and read Speed; for per-module detail run Get-CimInstance Win32_PhysicalMemory | Select-Object Speed, ConfiguredClockSpeed in PowerShell. On Linux run sudo dmidecode --type 17, and on a Mac run system_profiler SPMemoryDataType.
The number that matters is the speed the memory is currently running at, which is often lower than the rated speed on the label. The commands below show both.
Check RAM speed in Task Manager (Windows 10 and 11)
- Press
Ctrl+Shift+Escto open Task Manager. If it opens in the small view, click More details. - Select Performance, then Memory.
- Read Speed in the details under the graph. Depending on the Windows version the unit is shown as MHz or MT/s; the number means the same thing (see the MT/s section below).
The same panel shows Slots used (for example 2 of 4) and Form factor (DIMM for desktops, SODIMM for most laptops), which you need before buying more RAM. Task Manager shows one speed for the whole system; for the rated speed of each module, use PowerShell.
Check RAM speed with PowerShell (rated vs actual)
Get-CimInstance Win32_PhysicalMemory | Select-Object DeviceLocator, Manufacturer, PartNumber, Capacity, Speed, ConfiguredClockSpeed | Format-Table -AutoSize
Real output from a laptop with two 32 GB modules:
DeviceLocator Manufacturer PartNumber Capacity Speed ConfiguredClockSpeed
------------- ------------ ---------- -------- ----- --------------------
Controller0-ChannelA/B-DIMM0 Kingston KF556S40-32 34359738368 5600 5200
Controller1-ChannelA/B-DIMM0 Kingston KF556S40-32 34359738368 5600 5200
- Speed is the module's rated maximum, here 5600, matching the "556" in the part number.
- ConfiguredClockSpeed is what the system has actually set the memory to: 5200. This is the figure Task Manager shows.
- Capacity is in bytes: 34,359,738,368 bytes is 32 GiB.
So this machine's RAM is rated for 5600 MT/s but running at 5200 MT/s, about 7% below its label. Why that happens, and whether you can fix it, is covered below.
A note on units: Microsoft's documentation for Win32_PhysicalMemory labels Speed as "nanoseconds" and ConfiguredClockSpeed as "megahertz". On current hardware both values come from the firmware's SMBIOS memory table and read as transfer rates, as the 5600 above shows; treat them as MT/s.
To see which DDR generation you have, add SMBIOSMemoryType to the property list. It's a raw code from the SMBIOS table: 26 (0x1A) is DDR4 and 34 (0x22) is DDR5, the codes the dmidecode tool uses to print those names. The machine above reports 34.
Using wmic (older Windows)
wmic memorychip get devicelocator, speed, configuredclockspeed
This prints the same two speeds. Microsoft deprecated WMIC in Windows 10 version 21H1, and according to Microsoft Learn it is removed by default from new installations of Windows 11 24H2 and 25H2 and, from August 2026, can no longer be added back. If you see 'wmic' is not recognized as an internal or external command, use the PowerShell command above instead; it reads the same data.
Check RAM speed on Linux: dmidecode
sudo dmidecode --type 17
Type 17 is the SMBIOS "Memory Device" record, one per slot. --type memory also works and includes the related types 5, 6 and 16. Each populated slot prints a block; the lines that matter look like this (example output):
Memory Device
Size: 32 GB
Form Factor: SODIMM
Locator: Controller0-ChannelA/B-DIMM0
Type: DDR5
Speed: 5600 MT/s
Manufacturer: Kingston
Configured Memory Speed: 5200 MT/s
As on Windows, Speed is the rating and Configured Memory Speed is what it's running at. Run it with sudo so it can read the raw firmware table. To print just the speed lines:
sudo dmidecode --type 17 | grep -i speed
Check RAM speed on a Mac
system_profiler SPMemoryDataType
This prints the Memory section of the System Information app in Terminal. What it lists varies by model and macOS version: Macs with memory slots typically show size, type and speed per slot. If no speed is listed, the technical specifications page for your exact Mac model on Apple's site is the reference.
MT/s vs MHz: why some tools show half your RAM speed
DDR stands for double data rate: the memory transfers data on both the rising and falling edge of its clock, so it performs two transfers per clock cycle. DDR5-5600 therefore performs 5,600 million transfers per second on a 2,800 MHz clock. Memory makers such as Micron use MT/s for the transfer rate, but shops and BIOS menus often label the same number "MHz". If a monitoring tool reports about 2,600 MHz for memory sold as 5200, it's showing the real clock, and nothing is wrong.
Why your RAM is slower than the label
If ConfiguredClockSpeed is below Speed, or below the number on the box, the cause is usually one of these:
| Cause | How to tell | Fix |
|---|---|---|
| Overclocking profile not enabled | Desktop RAM sold as e.g. DDR4-3600 or DDR5-6000 runs at a noticeably lower standard speed | Enable XMP (Intel) or the AMD equivalent profile in the BIOS/UEFI |
| CPU or chipset limit | The configured speed equals the maximum memory speed in your CPU's specifications | None; the RAM is running as fast as the platform allows |
| Laptop or prebuilt firmware | No memory settings in the BIOS | Usually none; the manufacturer fixed the speed |
| Mixed modules | Modules report different Speed values | The system sets one speed for all modules, so the slowest rating limits it; match them |
Intel describes XMP modules as booting first "with the default JEDEC settings" and running at their advertised speed only after you enable the profile in the BIOS. Look for a setting named XMP, EXPO or "memory profile" on the memory or overclocking page. If the system becomes unstable after enabling it, go back to the default; the profile is an overclock, and not every CPU and board combination holds it.
The laptop in the PowerShell example falls in the second group. Its processor, an Intel Core i7-13700H, is specified by Intel for "Up to DDR5 5200 MT/s", so 5200 is the platform maximum and the 5600-rated modules simply have headroom the CPU can't use. Check your processor's specification page (search the exact model on intel.com or amd.com) before chasing a BIOS setting that isn't there.
For what the speed difference between memory generations means in practice, see DDR4 vs DDR5; for deciding how much memory to add, see how much RAM do I need.
Frequently asked questions
- Is RAM speed measured in MHz or MT/s?
- The number on the label (3200, 5600, 6000) is a transfer rate in megatransfers per second, MT/s. It is often written as MHz, but DDR memory moves data twice per clock cycle, so the actual clock is half the figure: DDR5-5600 runs at a 2,800 MHz clock. Some tools show the real clock, which is why they appear to report half your RAM speed.
- Why does my RAM run slower than advertised?
- Most often the memory's faster profile is not enabled. Modules sold as DDR4-3600 or DDR5-6000 start at a slower standard speed, and the advertised speed is an overclocking profile (Intel XMP or the AMD equivalent) that you switch on in the BIOS or UEFI. The CPU or motherboard may also support a lower maximum, especially with four modules installed.
- Does it matter if two RAM sticks have different speeds?
- They usually work together, but the system picks one speed for all installed memory, so the slowest module's rating sets the ceiling. Run the PowerShell command in this article and compare the Speed column (each module's rating) with ConfiguredClockSpeed (what they all actually run at).
- Can I check RAM speed without opening the case?
- Yes. Every method in this article reads the information the memory and firmware report to the operating system, so you never need to look at the module labels. On Windows, Task Manager or the PowerShell command is enough.
Sources
- Microsoft Learn: Win32_PhysicalMemory class
- Microsoft Learn: WMI command-line (WMIC) utility (deprecation and removal notice)
- Ubuntu manpages: dmidecode(8)
- dmidecode source code (memory type and speed decoding)
- Intel: Core i7-13700H processor specifications
- Intel: Extreme Memory Profile (XMP)
- Micron: DDR5 SDRAM (MT/s and DDR4 vs DDR5)