GNU/Linux >> Tutoriels Linux >  >> Linux

Diagnostics de mémoire insuffisante de Windows

Cet article s'applique aux versions Microsoft® Windows Server® suivantes :2008, 2012, 2012 R2, 2016 et 2019.

Les serveurs ont deux types de mémoire :la mémoire vive (RAM) et la mémoire virtuelle. Tous les programmes utilisent de la RAM. Mais lorsque les programmes n'ont pas assez de RAM pour s'exécuter, Windows® déplace temporairement les informations normalement stockées dans la RAM vers un fichier sur votre disque dur appelé fichier d'échange. Ce stockage temporaire de données dans un fichier d'échange est connu sous le nom de mémoire virtuelle.

L'utilisation de la mémoire virtuelle pour déplacer des informations vers et depuis un fichier d'échange libère suffisamment de RAM pour que les programmes s'exécutent correctement. Des problèmes de mémoire insuffisante peuvent survenir dans les conditions suivantes :

  • Lorsque le serveur manque de RAM et manque de mémoire virtuelle.

  • Lorsque vous exécutez plus de programmes que la RAM installée sur le serveur ne peut en supporter.

  • Lorsqu'un programme ne libère pas de mémoire dont il n'a plus besoin, ce qu'on appelle une surutilisation de la mémoire ou une fuite de mémoire.

Déterminer l'utilisation de la mémoire

Vous pouvez utiliser le script PowerShell® suivant pour déterminer l'utilisation actuelle de la mémoire :

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

Le résultat doit être similaire aux informations suivantes trouvées dans le Gestionnaire des tâches :

----------------------------------------
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
-----------------------------------------------------------------

Une fois que vous avez déterminé le processus principal qui utilise de la mémoire, vous pouvez alors rechercher tout problème avec le service. Vous devrez peut-être redémarrer le service ou le serveur.

Les services suivants peuvent entraîner une utilisation élevée de la mémoire :

  • Microsoft SQL Server®
  • Processus de travail Internet Information Services (IIS) (w3wp)
  • CommVault®
  • Sophos®

Linux
  1. Comment vérifier la charge du serveur sur un serveur Windows

  2. Mesurer l'utilisation de RAM d'un programme ?

  3. Diagnostics de disque faible Windows

  4. Comment vérifier la taille totale de la RAM et l'utilisation de la mémoire sous Linux

  5. Comment trouver des informations sur la RAM?

Mémoire Intel Optane vs SSD vs RAM

Installation de l'outil de test de mémoire RAM Memtest+ sur Redhat 7 Linux

Swappiness sous Linux :tout ce que vous devez savoir

Comment effacer le cache et la mémoire tampon de la mémoire RAM et l'espace d'échange sous Linux

Application Ny ou commande qui nettoie la mémoire comme Ccleaner sous Windows ?

Trouver la taille de la RAM sous Linux