System Status
Buy Now
  • Email & Apps
  • Office 365
Login
  • MyRackspace Portal
  • Cloud Control Panel
  • Rackspace Webmail Login
  • Cloud Office Control Panel
  • Support Home
  • How-To
  • Developer Documentation
  •  Blogs 
    • Expert Insights Tech Blog
    • Rackspace Blog
    • Solve: Thought Leadership

Support Network

End-to-End Multicloud Solutions.   Solving Together.™   Learn more at Rackspace.com

How–To Home

Cloud Servers

  • Introduction
  • FAQ
  • All Articles

Windows low-memory diagnostics

Last updated on:  2020-05-08

Authored by:  Steven Mondragon-DeVoss


This article applies to the following Microsoft® Windows Server® versions: 2008, 2012, 2012 R2, 2016, and 2019.

Servers have two types of memory: random access memory (RAM) and virtual memory. All programs use RAM. But when programs don’t have enough RAM to run, Windows® temporarily moves information normally stored in RAM to a file on your hard disk called a paging file. This temporary data storage in a paging file is known as virtual memory.

Using virtual memory to move information to and from a paging file frees up enough RAM for programs to run correctly. Low-memory problems can occur under the following conditions:

  • When the server runs out of RAM and becomes low on virtual memory.

  • When you run more programs than the RAM installed on the server can support.

  • When a program doesn’t free up memory that it no longer needs, which is called memory overuse or a memory leak.

Determining memory usage

You can use the following PowerShell® script to determine current memory usage:

$ln="--------------------";
$sp="       ";
$M="Memory";
$os=gwmi win32_operatingsystem;
$TPMS="TotalVisible$M`Size";
$FPM="FreePhysical$M";
$TVMS="TotalVirtual$M`Size";
$FVM="FreeVirtual$M";
$TP=[int]($os.$TPMS/1mb);
$FP=[math]::Round($os.$FPM/1mb,2);
$PP=[math]::Round((($os.$TPMS-$os.$FPM)/$os.$TPMS)*100,2);
$TV=[int]($os.$TVMS/1mb);
$FV=[math]::Round($os.$FVM/1mb,2);
$PV=[math]::Round((($os.$TVMS-$os.$FVM)/$os.$TVMS)*100,2);
echo "`n$ln$ln`nCurrent $M Utilization:`n$ln$ln`nPhysical $M ($TP GB)`nAvailable: $FP GB`n % in use: $PP`%`n`nVirtual $M   ($TV GB)`nAvailable: $FV GB`n % in use: $PV`%`n`n$ln$ln$ln$ln`nImage Name$sp$sp$sp`PID Session Name$sp Session#    Mem Usage`n$ln$ln$ln$ln";
cmd /C "tasklist /NH /FI "MEMUSAGE gt 100000"|sort /R /+64";echo "$ln$ln$ln$ln";

The output should be similar to the following information found in Task Manager:

----------------------------------------
Current Memory Utilization:
----------------------------------------
Physical Memory ("amount" GB)
Available: "amount" GB
% in use: "amount" %

Virtual Memory ("amount" GB)
Available: "amount" GB
% in use: "amount" %

-----------------------------------------------------------------
Image Name|     PID| Session Name|        Session#|    Mem Usage
-----------------------------------------------------------------
"service1"      1280 Console                    2      707,216 K
"service2"      1124 Console                    2      390,380 K
"service3"      6904 Console                    2      362,920 K
"service3"      1300 Console                    2      250,928 K
"service4"      7604 Console                    2      243,760 K
"service5"     12928 Console                    2      228,096 K
-----------------------------------------------------------------

After you determine the top process that is using memory, you can then investigate any issues with the service. You might need to restart the service or the server.

The following services can cause high memory usage:

  • Microsoft SQL Server®
  • Internet Information Services (IIS) worker processes (w3wp)
  • CommVault®
  • Sophos®

Share this information:

©2020 Rackspace US, Inc.

Except where otherwise noted, content on this site is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License

See license specifics and DISCLAIMER

About Rackspace
  • About
  • Customer Stories
  • Events
  • Programs
Blogs
  • The Rackspace Blog
  • Expert Insights Tech Blog
  • Solve: Thought Leadership
  • News
  • Contact Information
  • Legal
  • Careers
Site Information
  • Style Guide for Technical Content
  • Trademarks
  • Privacy Statement
  • Website Terms
Support Network
  • Support Network Home
  • Rackspace How-To
  • API Documentation
  • Developer Center
  • ©2020 Rackspace US, Inc.