How much RAM does my machine have?

If you need to determine the RAM in a system you can use the Win32_ComputerSystem class

Get-CimInstance -ClassName Win32_ComputerSystem |
select Name, TotalPhysicalMemory

The answer is in bytes BUT it only shows the memory available to the OS.  Many systems steal RAM for graphics cards or other devices.

The true amount of physical memory is obtained from the Win32_PhysicalMemory class which gets data in each memory bank in your system. PowerShell will even add them up for you if you ask nicely.

Get-WmiObject Win32_PhysicalMemory |
Measure-Object -Property Capacity –Sum

If you just need the value:

(Get-WmiObject Win32_PhysicalMemory |
Measure-Object -Property Capacity -Sum).Sum


Get-WmiObject Win32_PhysicalMemory |
Measure-Object -Property Capacity -Sum |
select -ExpandProperty Sum

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>