Quick Links

Key Takeaways

You can use a third-party utility like HWiNFO to determine what kind of RAM you have installed in your PC. If your PC is newer, it probably has DDR4, or even DDR5.

If you are looking to upgrade the memory in your computer, you are probably wondering how many open slots you have, what type of RAM is already installed, and what you need to buy for an upgrade without having to open your computer.

Since you shouldn't have to open up the computer just to figure out what you have installed, here are a couple of options for detecting the type of memory already installed in your system.

How to Check What Kind of RAM You Have

Use a third-party tool, like HWiNFO, to check what type of RAM you have in your PC. HWiNFO is available as a portable application and an installer --- use whichever you like, it doesn't really matter.

Speccy and CPU-Z are tools that provide the same functionality as HWiNFO. The UI will be different, but they present the same information.

Fire up HWiNFO and make sure to select "Summary-only" before you click "Start." We don't need the sensor data right now.

Tick "Summary-only," then click "Start."

HWiNFO displays everything you could ever want to know about your PC's hardware. All of the information relevant to your RAM is located in the middle third section under "Memory" and "Memory Modules."

Since we're just interested in what kind of RAM is installed, check the "Type" box. You'll see something like "DDR3 SDRAM," "DDR4 SDRAM," or "DDR5 SDRAM." HWiNFO also displays the amount of RAM you have installed to the left, in the "Size" box.

The type of RAM you PC has installed is displayed in the "Type" box in the Memory section.

If you want to know the precise make and model of your RAM, look at the drop-down box at the top of the "Memory Modules" section.

The exact make and model of the RAM installed in your PC.

The exact make of your RAM is important if you want to upgrade your PC's RAM.

Related: DDR4 vs. DDR5 RAM: Is an Upgrade Worth It?

How to Check Your RAM Speed

Make sure to launch HWiNFO in "Summary" mode, then note the value in the "Clock" box in the Memory section ---- that is the speed of your RAM. DDR4 will typically have speeds anywhere between 1,000MHz and 2,000MHz. DDR5 can be as high as 3,000MHz.

The speed of your RAM is displayed in the "Clock" field in the Memory section.

If you're looking at your RAM speed and thinking "Wait, why is it half of what it should be?" --- don't worry, your RAM isn't defective. RAM can be defined in terms of data rate or double data rate (thus the acronym DDR). Typically, hardware manufacturers display the double data rate on RAM and motherboards whereas HWiNFO, and most other computer hardware monitors, will display the plain data rate. Just multiply the clock frequency by two and you should get a number close to the value advertised on your RAM.

The number displayed in the clock box in the Memory Modules section is the maximum data rate reported by the RAM itself, not the speed your RAM is operating at. If the two clock numbers displayed in HWiNFO do not match, it means your motherboard is running the RAM at a lower speed. That isn't usually indicative of a problem either. You just need to enable XMP or manually tweak some settings to get your RAM running at the advertised speeds.

Related: How to Enable Intel XMP to Make Your RAM Run at Its Advertised Speeds

How to Upgrade Your RAM

To upgrade your RAM, first identify the RAM that your computer supports. Open HWiNFO, get your motherboard model, and then search on the internet for the manual.

The motherboard model highlighted in our example system.

Related: How to Upgrade or Replace Your PC's RAM

The motherboard manual will specify the type, maximum amount, and maximum speed of the RAM you should install. Here's an excerpt from an ASUS manual for the motherboard in the PC we used in this example.

The x570-PRO (Wi-Fi) memory specifications.

Once you know what kind of RAM your motherboard needs, you can easily search for it on the internet. Just make sure you buy it from a reputable retailer.

If you aren't worried about picking out the fastest possible RAM and just want to add some more, open up HWiNFO and get the model number of the RAM in your PC. Ideally, all of your RAM should be identical to minimize the possibility of problems, so try to buy the exact same model if you can. It also ensures you won't have to worry about compatibility with your motherboard.

Be sure to confirm that your motherboard has enough free RAM slots by consulting the manual and the drop-down menu in the Memory Modules section of HWiNFO. HWiNFO displays the number of RAM modules you have installed already.

The exact make and model of the RAM installed in your PC.

You might not be able to find an exact match for the RAM installed in a pre-built PC or a laptop. If you can't, reference HWiNFO and try to find as close of a match as possible. When mixing RAM with different specs, your PC will automatically adjust all of the RAM in the system to the slowest installed RAM stick. Be sure not to install additional RAM that is slower than your current RAM.

How Much RAM Do You Need?

Modern Windows PCs should have 16 gigabytes of RAM or more, though Linux PCs can usually get away with less RAM. PC builds with 32 gigabytes of RAM have become much more common in the last few years as applications and games have gotten more RAM intensive.

Related: How to Build Your Own Computer, Part One: Choosing Hardware

For example, in December 2019, about 6% of all PCs included in the Steam Hardware Survey had more than 16 gigabytes of RAM. By December 2020, that number had jumped to 10%, and a year later, in December of 2022, very nearly 14% of PCs surveyed had 32 gigabytes of RAM. Only 2% of PCs surveyed had 64 gigabytes of RAM or more.

Whether or not you need more than 16 gigabytes of RAM really depends on your intentions --- most AAA games slated to be released in 2023 recommend 16 gigabytes of RAM, which points towards 32 gigabytes becoming a necessity fairly soon. Other intensive uses, like photo and video editing, 3D modeling, CAD, and most other professional applications, will happily consume as much RAM as you're willing to throw at them.

Related: How Much RAM Does Your PC Need?

If you go for 16 gigabytes of RAM, you should probably opt for 8 GB sticks rather than 4 GB sticks. The overwhelming majority of consumer motherboards have only four RAM slots available. If you install two 8 gigabyte RAM sticks (denoted 2x8GB) you can easily upgrade to 32 gigabytes in the future by adding another two sticks. Just make sure you install them in the correct slots --- dual channel memory is designed to operate in pairs, and you'll lose some performance installing them incorrectly.

How Does a PC Know What RAM Is Installed?

RAM identifies itself to your PC using Serial Presence Detect (SPD). SPD is a standard created by JEDEC that defines how memory modules, like RAM sticks, store and transmit information about themselves to the rest of your system.

The actual SPD data --- like your RAM's timings as well as its speed and size--- is stored in a small amount of flash memory (EEPROM) on the stick of RAM, then transmitted to the rest of your system over a special interface called "SMBus." SMBus is another standard that defines one way for connected circuit boards to communicate with each other.

If you want to get into the technical weeds, SMBus itself is a derivative of Inter-Intergrated Circuit (I²C, or eye-squared-C), but it has additional restrictions. 

Here is what the SPD EEPROM looks like on an old stick of DDR3. The larger black squares to either side are the RAM stick's memory modules.

Related: What Kind of Memory Does My Computer Have Installed?

SPD EEPROM on a stick of DDR3 memory.
Nick Lewis / How-To Geek

SPD data can be accessed directly by third-party programs like Speccy, HWiNFO, or CPU-Z. Typically you won't access it manually, however --- that requires some pretty low-level programming. However, you can get pretty close with PowerShell or Terminal.

How to Access SMBIOS Data About Your RAM on Windows

To get data about your RAM on Windows, open PowerShell, then enter the following command:

Get-CimInstance CIM_PhysicalMemory

You'll see a long list of attributes for your RAM. The first item on the list will be "Caption," and the last will be "PSComputerName." You'll get a complete list for every unique stick of RAM installed on your PC. It'll tell you how fast your RAM is, which slot it is installed in, the memory capacity per stick, and more.

A PowerShell window outputting the CIM_PhysicalMemory attributes.

You might be looking at the capacity line and going, "Wait, what is this nonsense?" --- that is a reasonable reaction. The capacity number looks wrong because it displays your RAM capacity in bytes, not gigabytes. You can quickly divide the capacity number by 1073741824 (which is 1024³, converting bytes to kilobytes, kilobytes to megabytes, then megabytes to gigabytes) to get it in gigabytes. In this case, it works out to exactly 16 GB, which is what it should be.

Related: How Does RAM Speed and Timing Affect My PC's Performance?

How to Access SMBIOS Data About Your RAM on Linux

To access SMBIOS data about your RAM on Linux, open up a Terminal (or type in the command line), and run the following command:

sudo dmidecode -t memory

You'll get a per-stick breakdown of your RAM's attributes.

Linux displays your RAM speed in million transfers per second (MT/s) rather than Megahertz (MHz), however, the numbers can be directly substituted for one another. RAM that runs at 3600 MHz will be rated at 3600 MT/s. 

A Linux Terminal, with the output from "dmidecode -t memory" displayed.

Of course, these things aren't perfect --- sometimes the EEPROM on your RAM is not properly programmed, and you might find some details missing. Additionally, it is also possible that problems could occur between the RAM and your motherboard that result in SMBIOS collecting incorrect information. That is why sometimes commands that rely on SMBIOS, like dmidecode, will return different information from utilities that can directly read SPD data from your RAM.