RAM is one of the most crucial factors influencing the speed of your computer. When you notice that your system is running slowly even though you are using a good system and a fast SSD drive, you should probably examine the amount of RAM on your system.
Table of contents
- What is RAM/Memory?
- Checking the Complete RAM Details using WMIC Command
- Get RAM Details using SystemInfo Command
- Get RAM Details using PowerShell
- How do you see how much RAM is in your computer?
- Check Installed and Available RAM/Memory from System Information
- Check RAM/Memory Size using DirectX Diagnostics Tool
- How to Check RAM Speed?
- How do you check what type of RAM you have? DDR3 or DDR4?
- Frequently Asked Questions (FAQs)
What is RAM/Memory?
Random Access Memory, or RAM, is a type of memory that is used by processors to run the data and information this is currently being used by the system. Examples of these include running operating system files, device drivers, application data, etc.
As soon as the computer is powered off, the data in the RAM is erased. This is because the RAM is a volatile memory, which losses its data as soon as it loses power.
Let us now continue to see how to check the different RAM-related details on your computer.
Checking the Complete RAM Details using WMIC Command
Using the WMIC cmdlet, you can obtain some information about the RAM on your computer, such as its capacity, speed, which bank it is installed in, etc. Here is how:
The Command Prompt will now open. Type the following command and then hit Enter:
wmic MEMORYCHIP get BankLabel, DeviceLocator, Capacity, Speed
The three columns will be shown in front of you. The BankLabel column will tell you which slots the RAM chips are installed in. The Capacity column will tell you the size of each module in bytes. The DeviceLocator is another entity that tells which slots the RAM chips are installed in.
You can also get more information through the WMIC cmdlet, such as its MemoryType and TypeDetail. To do this, enter the following command:
wmic MEMORYCHIP get BankLabel, DeviceLocator, MemoryType, TypeDetail, Capacity, Speed
MemoryType tells you the type of your physical memory. In this case, we get 24 which means DDR3. The value comes from the TypeDetail member of the Memory Device structure in the SMBIOS information. We got “128” which says my RAM TypeDetail is synchronous.
To get complete details about the memory modules, run the following command:
wmic memorychip list full
This command may not give you a user-friendly list of details but it will give you complete details about the hardware.
Moreover, you can also use the following list of switches to obtain other information about the memory:
Get RAM Details using SystemInfo Command
Here is another way to find the RAM details for your system through the SystemInfo command. This method also gives you similar information to the WMIC cmdlet.
To find the total physical memory of your system, enter the following command. This command easily displays the total amount of memory that is on your system.
systeminfo | findstr /C:"Total Physical Memory"
If you want to get the information about the available memory of your system then run the following command and immediately get the results:
systeminfo |find "Available Physical Memory"
Get RAM Details using PowerShell
If you want to get complete RAM details, you can use the following PowerShell command:
Get-WmiObject Win32_PhysicalMemory | Format-List *
This command will give you a wealth of information about your memory, as in the image below.
How do you see how much RAM is in your computer?
You can easily check the details of RAM in Windows 10 using Task Manager. The task manager performance tab shows the majority of memory details including the total amount of RAM, how much is in use, committed/cached and paged/non-paged amount of RAM, RAM speed and frequency, form factor, hardware reserved, and even how many slots are being used in the system.
To check how much RAM you have on your computer, open the Task Manager by pressing Ctrl + Shift + Esc keys and go to the Performance tab. Select Memory from the left-hand pane. The right-hand pane will open RAM details.
If the RAM usage is more than 90%, you should think of upgrading the RAM capacity in your system, reducing the memory load, and bringing it below 80% for optimal performance.
To check how much RAM you have using the command line, open Command Prompt and run the following command:
wmic MEMORYCHIP get BankLabel, Capacity
This will show the RAM capacity of all RAM modules separately and in bytes.
To check the total RAM capacity in your system, run the following command in Command Prompt:
systeminfo | find "Total Physical Memory"
This will show you the total physical memory installed in Megabytes.
If you are using PowerShell, you can run the following command to get the RAM size:
Get-WmiObject Win32_PhysicalMemory | Select-Object Capacity
Check Installed and Available RAM/Memory from System Information
System Information is a tiny applet in the Windows operating system that displays the different information about the computer as a whole. It gives both hardware and software information. It can be used to find out what amount of RAM is on your computer, and how much of it is available for you to use. Here is how:
Type in msinfo32 in the Run Command box to open System Information.
Now you will find the following information on the starting page under the System Summary category:
- Installed Physical memory
- Total Physical memory
- Available Physical Memory
Check RAM/Memory Size using DirectX Diagnostics Tool
The DirectX diagnostic tool is a built-in tool in the Windows operating system used to check and troubleshoot video or sound-related hardware problems. With that, it also displays other hardware information, such as the amount of RAM installed on your PC. Here is how to check your RAM details using the DirectX diagnostic tool:
Open the tool by typing in dxdiag in the Run Command box.
Under the System tab, you should be able to see Memory,
How to Check RAM Speed?
Windows 10 Task Manager gives the option to check RAM speed with ease.
To check RAM speed, open the Task Manager by pressing Ctrl + Shift + Esc keys and go to the Performance tab. Select Memory from the left-hand pane. On the right-hand page, you should see the Speed of RAM in MHz.
Please note that if you have multiple RAM modules, Windows 10/11 will report the operating RAM speed which is the lowest of all installed modules. If you want to check the speed of each individual module, just hover your mouse cursor over the slots used. This will show a pop-up with the speed of each module.
To check RAM speed using the command line, open Command Prompt and run the following command:
wmic MEMORYCHIP get BankLabel, Speed
This will show the speed of all installed RAM modules.
If you are using PowerShell, you can run the following command to check the speed of RAM modules:
Get-WmiObject Win32_PhysicalMemory | Select-Object Speed
How do you check what type of RAM you have? DDR3 or DDR4?
Unfortunately, the Task Manager doesn’t give very useful information about the RAM type. We can use PowerShell commands to accurately determine the RAM type.
To check the RAM type from the command line, open PowerShell and run the following command:
Get-WmiObject Win32_PhysicalMemory | Select-Object SMBIOSMemoryType
This command will give you a number. This number corresponds to the appropriate RAM type. Here are the codes and their corresponding RAM types:
For more information on these codes, you can refer to Microsoft documentation here.
You can also use the WMIC MEMORYCHIP command in Command Prompt to check the memory type:
wmic memorychip get memorytype
Please note that wmic MEMORYCHIP is an old command and does not always detect the correct RAM type. If you see 0 as a memory type code, it means the MEMORYCHIP command was not able to determine the RAM type.
Using commands is a very convenient, time-saving method for any task. It is as simple as typing a command and getting the task done. Use the commands I described above to get detailed information about your RAM. Upgrade the RAM if your system is slow or has insufficient RAM so that all operations will be performed smoothly and rapidly.
Frequently Asked Questions (FAQs)
When should I upgrade my RAM?
If you believe that your computer is now running slower than before, then check to see how much RAM is in use. If it is continuously consuming nearly 80-90% of your total RAM, then it is time to change, or maybe upgrade your current RAM modules.
What is the maximum amount of RAM I can put in my computer?
The maximum amount of RAM your system supports is usually limited by your hardware; the motherboard to be precise. Therefore, we recommend that you read your motherboard’s manual before upgrading your RAM capacity. Moreover, the operating system also limits the amount of RAM.
However, modern operating systems support sufficient amounts of RAM capacity as long as it is a 64-bit OS.
The task manager in my laptop shows it has used 2 slots out of 8 and when I opened they were only two physical slots? How does this work? Even CMD shows there are 8 Memory devices……Any idea?
wmic MEMORYCHIP get BankLabel, DeviceLocator, Capacity, informationSpeed
its not “informationSpeed”
and it’s “Speed”
Thanks a lot for pointing out the typo. I’ve corrected it :-)
How can i read the whole memory of ram.. I mean as a programmer if i gave a memory slot to a variable named x and give it a value 10. How can i actually see that the value of x is stored in the ram.. Or even how can i see that the ram slot is provided to x.????
So i have DDR4 with 3200Mhz With CMD and Bios it is 3200Mhz byt when i check Task manager it says 1600Mhz… can anyone help me with info or know why it is on 1600Mhz in TM
DDR means ‘Double Data Rate’ so when your RAM is showing 1600 it means 3200 (ie doubled).
Some programs read your memory clock at half effective speed, 1600 in your case, but it’s still a reflection of the RAM’s DDR.
Do you have multiple RAM modules? Does your motherboard support 3200 Mhz RAM? Windows will show the RAM speed at which the RAM is running at the moment.
how do I set memory percentage eg I want to display info on memory that is close to 85%
Nothing is showing on that side of my task manager what will i do to see the no of slots?
Which version of Windows 10 are you using?
Hey, still can’t see any of my previous comments…
Anyways, I’ve had the chance to check a 2666Mhz dimm [the only dimm in the system, for the sake of the test] in a motherboard that only supports upto 2400Hmz [by manufacturers specs].
Task manager shows => 2666Mhz
WMIC command => 2666Mhz
HWiNFO [under ‘current speed’] => ~1197Mhz [which, I guess, is for a single channel so actually it’s ~2394Mhz]
Since you got 2400Mhz for a 2666Mhz [with WMIC], one of these tools is not accurate… Now I’m even more confused.
Where is my original post? anyways, I know it’s not recommended to use a RAM which is not within the motherboard’s compatibility specs, the question was in general.
The question again [since it’s not under the comments section]:
“Does the command return the frequency declared by the manufacturer OR the actual frequency at which it operates?
For example, if I put a 3000Mhz RAM in a mobo that only supports up to 2666Mhz [and auto downclocks it] – will I see 3000Mhz OR 2666Mhz?”
So, just confirming, given the scenario I provided, you’re saying what I should expect to see is the frequency declared by the manufacturer [3000Mhz], even though the RAM only operates [due to motherboard limitations] at 2666Mhz. Correct?
In that case, is there a certain way to determine the speed at which the RAM operates within a system?
Sorry for the confusion. I think the comment is not shown because of the cache. It’ll show up after a while. Anyways, I have checked one of my lab systems which has two different types of RAM installed, one is 2400MHz and the other is 2666MHz. Windows is showing 2400MHz for both of them which means the RAM is running at a maximum of 2400MHz maximum. When I checked in HWiNFO tool, it gave me the details about both the modules of RAM with the manufacturer frequency and the operating frequency separately.
Question please, does it return [under “Speed”] the RAM’s frequency declared by the manufacturer OR the actual frequency at which it operates?
I mean, if I plug in a 3000Mhz dimm into a mobo that only supports up to 2666Mhz [and auto downclocks it] – will I see 3000Mhz OR 2666Mhz?
It is the frequency declared by the manufacturer. A 3000Mhz RAM should work fine on a 2666Mhz slot only if it is compatible. Anyways, it is not recommended to do so.
The result is pr. slot though. Lenovo T450 with 2 slots a max capacity of 32Gb returns 16777216¨
Hey! thanks for the great article. Loved the command line.
BTW there is a typo: infromationSpeed for informationSpeed
Many thanks, Deftoner, I have corrected the typo.
How do I know the amount of ram I can add to my system, it’s 64bit and 2G ram Toshiba with Windows 10 installed buh I want to upgrade, how I know the amount if slots available for me
You will need to check with your vendor website citing the specific computer model you have. If you can share the full model no. of your computer, I’ll be able to help you out in this matter. BTW, most old laptops come with 16GB RAM maximum limit.
It is simple. Open the Start menu, click the Run button and enter “CMD” in the pop-up window, then confirm or press ENTER. In the Command window, enter “WMIC memphysical get Maxcapacity” without quotation marks and then hit enter. The computer then gives a list of kilobytes of digits. We’ll convert this number to our common GB units. The conversion method is: “The obtained number/(divided by) 1024/(divided by) 1024” My Computer gets the number of 16777216K bytes, then I divided by 1024 and divided by 1024, is equal to 16GB. This mean the motherboard can support ram maximumly up to 16GB.
Thank you man , been looking for that. Hope the number is correct