GNU/Linux >> Linux Esercitazione >  >> Linux

Diagnostica di Windows con memoria insufficiente

Questo articolo si applica alle seguenti versioni di Microsoft® Windows Server®:2008, 2012,2012 R2, 2016 e 2019.

I server hanno due tipi di memoria:memoria ad accesso casuale (RAM) e memoria virtuale. Tutti i programmi utilizzano la RAM. Ma quando i programmi non hanno RAM sufficiente per essere eseguiti, Windows® sposta temporaneamente le informazioni normalmente memorizzate nella RAM in un file sul disco rigido chiamato file di paging. Questa memorizzazione temporanea dei dati in un file di paging è nota come memoria virtuale.

L'uso della memoria virtuale per spostare le informazioni da e verso un file di paging libera abbastanza RAM per il corretto funzionamento dei programmi. Problemi di memoria insufficiente possono verificarsi nelle seguenti condizioni:

  • Quando il server esaurisce la RAM e la memoria virtuale si esaurisce.

  • Quando esegui più programmi di quanti ne possa supportare la RAM installata sul server.

  • Quando un programma non libera memoria di cui non ha più bisogno, si parla di uso eccessivo della memoria o perdita di memoria.

Determinazione dell'utilizzo della memoria

È possibile utilizzare il seguente script di PowerShell® per determinare l'utilizzo della memoria corrente:

$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";

L'output dovrebbe essere simile alle seguenti informazioni trovate 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
-----------------------------------------------------------------

Dopo aver determinato il processo principale che utilizza la memoria, puoi quindi esaminare eventuali problemi con il servizio. Potrebbe essere necessario riavviare il servizio o il server.

I seguenti servizi possono causare un utilizzo elevato della memoria:

  • Microsoft SQL Server®
  • Processi di lavoro di Internet Information Services (IIS) (w3wp)
  • CommVault®
  • Sophos®

Linux
  1. Misurare l'utilizzo della RAM di un programma?

  2. Diagnostica del disco insufficiente di Windows

  3. Il sistema si blocca quando esaurisce la memoria

  4. Quanta RAM utilizza il kernel?

  5. Memorizzazione nella cache/precaricamento di file su Linux nella RAM

Memoria Intel Optane vs SSD vs RAM

Installazione dello strumento di test della memoria RAM Memtest+ su Redhat 7 Linux

Swappiness in Linux:tutto ciò che devi sapere

Come cancellare la cache di memoria RAM e il buffer e lo spazio di scambio su Linux

Ny applicazione o comando che pulisce la memoria come Ccleaner in Windows?

Trova la dimensione della RAM in Linux