Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am looking for a command that returns the available physical memory in Windows. I tried "systeminfo" but it takes too long and returns a lot of unnessesary information for me. If there is not any command for this what would be the best way to obtain it in a different way using command prompt?

share|improve this question
For a laugh you can type mem in a cmd shell, but that won't get you very far :-) – Mat Jul 26 '11 at 11:00
What version of windows? – EBGreen Jul 26 '11 at 14:26
@Mat 941kB in XMS memory, ha ha :-D – Tomas May 29 at 17:26
up vote 22 down vote accepted

It takes some time (around 10 seconds for me) but the following command will do it:

systeminfo |find "Available Physical Memory"
share|improve this answer
Note that this depends on your OS language. My above example works for English OSes. For example, for a Turkish OS, the following command line should be used: systeminfo |find "Kullanılabilir Fiziksel Bellek" – Mehper C. Palavuzlar Jul 26 '11 at 11:32
This is an example from my PC showing a screeny of the outcome. – Mehper C. Palavuzlar Jul 26 '11 at 11:37
if you just 'find "Memory"' instead it gives a quick overview of all of it. Total, Available, Virtual: Available, Virtual: In Use – PsychoData Oct 24 '14 at 13:20
Way too slow... highly not recommended. To show memory it needs to scan entire system. – majkinetor Mar 9 '15 at 10:17

Well if you are on Windows 7, you can use this at the powershell prompt:

(Get-WMIObject Win32_PhysicalMemory |  Measure-Object Capacity -Sum).sum

Or if you want a nice pretty how many gigs is it:

(Get-WMIObject Win32_PhysicalMemory |  Measure-Object Capacity -Sum).sum/1GB

Or if you are on an older version of windows (or W7 for that matter) at the command prompt:

wmic memorychip get capacity
share|improve this answer
It's worth noting that whilst msinfo32 is usable by non-administrators for this purpose, wmic is not. – JdeBP Jul 26 '11 at 14:54
I think that might be a policy issue. I just ran the wmic command just fine as a non-admin. – EBGreen Jul 26 '11 at 15:08
No, it's not a policy issue. It fails on non-domain machines as well. The message that you'll see as a non-administrator is Only the administrator group members can use WMIC.EXE.. – JdeBP Jul 26 '11 at 15:48
Well, I'm not an admin and I did not see that message. Instead I saw the capacity of the two memory sticks installed on that machine. – EBGreen Jul 26 '11 at 15:59
Just checked to be sure and the user ID I was logged in with is not a member of the local Administrators group, nor is it a member of any of the AD groups that are local admins. – EBGreen Jul 26 '11 at 16:05

You already know about systeminfo, as per the question. And as Mat noted in a comment, the mem command doesn't tell you what you want to know.

JP Software's TCC/LE has the built-in MEMORY command, which operates thus:


           30 % Memory load

  3,471,441,920 bytes total physical RAM
  2,428,456,960 bytes available physical RAM

  5,440,962,560 bytes total page file
  4,505,726,976 bytes available page file

  2,147,352,576 bytes total virtual RAM
  2,053,435,392 bytes available virtual RAM

        262,144 characters total alias
        262,143 characters free

         20,480 characters total history


It also has the @WINMEMORY[] variable function, which can be used in various ways:

[C:\]echo There are %@COMMA[%@WINMEMORY[2]] available bytes physical RAM.
There are 2,456,285,184 available bytes physical RAM.


Bundled with Windows comes the msinfo32 command, whose output can be restricted more narrowly than that of systeminfo:

msinfo32 /categories +systemsummary

There are a whole load of other utilities, from various people, that can report the same information.

share|improve this answer

How about

typeperf "\Memory\Available Bytes"

in cmd or powershell prompt? You can find other monitoring instances with the command

typeperf -qx "\Memory"
share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.