Monitoring memory utilization
To retrieve memory information from local and remote computers using PowerShell, we can use WMI, or query performance counters. In this recipe, you'll learn a few techniques that can be used to monitor memory utilization using the Get-WmiObject
cmdlet.
How to do it...
To gather memory utilization with WMI, we need to query two separate classes:
$OS = Get-WmiObject Win32_OperatingSystem $CS = Get-WmiObject Win32_ComputerSystem
Next, we can access the free and total physical memory from each object:
To convert the values to gigabytes, we need to use the
mb
andgb
multipliers:
Now we can easily see that the local system has a total of 3 GB of RAM. If we subtract the FreePhysicalMemory
value from the TotalPhysicalMemory
value, we can determine that we're using about 2.6 GB of RAM on this machine.
How it works...
When working with the Win32_OperatingSystem
class, the FreePhysicalMemory
property is represented in kilobytes, as opposed to bytes. Therefore, when we calculate...