This article demonstrates different methods of finding out the memory configurations on a remote machine, useful for quick diagnosis of available physical/virtual memory. You could also use commands 1-4 in a batch file of PowerShell script to iterate through more than one remote computer.
From a Windows XP Professional Workstation, remotely targeting other workstations or servers you could use systeminfo, powershell (WMI), WMIC or perfmon:
- SystemInfo /s %Computer%
- $computer = "computer"; get-wmiobject -computerName $computer -class win32_logicalmemoryconfiguration -property TotalPhysicalMemory
- wmic /node:%Computer% path Win32_OperatingSystem GET FreePhysicalMemory
- wmic /node:"%computer%" path Win32_PerfFormattedData_PerfOS_Memory GET AvailableMBytes, PagesPerSec
- Use PerfMon, with the Memory 'Available MBytes' counter
- Add a doskey macro:
- FM=if _$1 NEQ _ (wmic /node:$1 path Win32_OperatingSystem GET FreePhysicalMemory) else (Echo Available physical memory for %ComputerName% & wmic /node:"%computer%" path Win32_PerfFormattedData_PerfOS_Memory GET AvailableMBytes, PagesPerSec)
Note: Systeminfo provides total and available physical and virtual memory, the first WMI query provides only available physical memory, and the second wmi query checks performance data, looking for available memory and pages/sec, a good determination of a potential memory bottleneck with hard page faults.
As a side-note, if you're familiar with DOS, you may remember 'mem /c /p', and although you can no longer specify both, in XP, 2003 and Vista you can still run 'mem /c' or 'mem /p', which very conveniently (???) shows the available conventional and upper memory in the 640k boundary (looks like himem isn't loaded :)
Wayne's World of IT (WWoIT), Copyright 2008 Wayne Martin.