Tento článek se vztahuje na následující verze systému Microsoft® Windows Server®:2008, 2012, 2012 R2, 2016 a 2019.
Servery mají dva typy paměti:paměť s náhodným přístupem (RAM) a virtuální paměť. Všechny programy využívají paměť RAM. Pokud však programy nemají dostatek paměti RAM ke spuštění, systém Windows® dočasně přesune informace běžně uložené v paměti RAM do souboru na vašem pevném disku, který se nazývá stránkovací soubor. Toto dočasné úložiště dat ve stránkovacím souboru se nazývá virtuální paměť.
Použití virtuální paměti k přesunu informací do a ze stránkovacího souboru uvolní dostatek paměti RAM pro správné fungování programů. Problémy s nedostatkem paměti mohou nastat za následujících podmínek:
-
Když serveru dojde RAM a dojde k nedostatku virtuální paměti.
-
Když spustíte více programů, než RAM nainstalovaná na serveru může podporovat.
-
Když program neuvolní paměť, kterou již nepotřebuje, což se nazývá nadměrné využití paměti nebo únik paměti.
Určení využití paměti
K určení aktuálního využití paměti můžete použít následující skript PowerShell®:
$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";
Výstup by měl být podobný následujícím informacím nalezeným ve Správci úloh:
----------------------------------------
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
-----------------------------------------------------------------
Poté, co určíte hlavní proces, který využívá paměť, můžete prozkoumat jakékoli problémy se službou. Možná budete muset restartovat službu nebo server.
Následující služby mohou způsobit vysoké využití paměti:
- Microsoft SQL Server®
- Internet Information Services (IIS) pracovní procesy (w3wp)
- CommVault®
- Sophos®