Résolution avancée des problèmes de blocage de Windows

Cet article explique comment résoudre les problèmes de blocage sur les ordinateurs et serveurs Windows. Il fournit également des méthodes de collecte de données qui aideront les administrateurs ou les développeurs de logiciels à diagnostiquer, identifier et résoudre ces problèmes.

Remarque

Les produits tiers mentionnés dans le présent article sont fabriqués par des sociétés indépendantes de Microsoft. Microsoft exclut toute garantie, implicite ou autre, concernant les performances ou la fiabilité de ces produits.

S’applique à : Windows 10

Identifier le problème

  • Quel ordinateur est gelé ? Par exemple, l’ordinateur affecté est un serveur physique ou un serveur virtuel.
  • Qu’est-ce qui s’est passé quand il s’est figé ? Par exemple, ce problème se produit lorsque vous arrêtez.
  • À quelle fréquence les erreurs se produisent-elles ? Par exemple, ce problème se produit tous les soirs à 19h.
  • Sur combien d’ordinateurs ce blocage se produit-il ? Par exemple, tous les ordinateurs ou un seul ordinateur.

Résoudre les problèmes de blocage

Pour résoudre les problèmes de blocage, case activée la status actuelle de votre ordinateur et suivez l’une des méthodes suivantes.

Pour l’ordinateur qui est toujours en cours d’exécution dans un état figé

Si l’ordinateur physique ou la machine virtuelle est toujours figé, utilisez une ou plusieurs des méthodes suivantes pour résoudre les problèmes :

  • Essayez d’accéder à l’ordinateur via une connexion Bureau à distance.
  • Utilisez un compte de domaine ou un compte d’administrateur local pour vous connecter à l’ordinateur avec la solution d’accès à distance du fabricant du matériel. Par exemple, Dell Remote Access Card (DRAC), HP Integrated Lights-Out (iLo) ou IBM Remote Supervisor Adapter (RSA).
  • Test ping sur l’ordinateur. Recherchez les paquets supprimés et la latence réseau élevée.
  • Accédez aux partages d’administration, par exemple \\ServerName\c$.
  • Appuyez sur Ctrl+Alt+Suppr et case activée la réponse.
  • Essayez d’utiliser les outils d’administration à distance Windows. Par exemple, Gestion de l’ordinateur, Gestionnaire de serveur et Wmimgmt.msc.

Pour l’ordinateur qui n’est plus figé

Si l’ordinateur physique ou la machine virtuelle se fige, mais s’exécute maintenant dans un bon état, utilisez une ou plusieurs des méthodes suivantes pour la résolution des problèmes.

Pour un ordinateur physique

  • Passez en revue les journaux système et application de l’ordinateur qui rencontre le problème. Vérifiez dans les journaux des événements l’ID d’événement approprié :

    • Journal des événements de l’application : Erreur d’application, qui suggère un incident ou un processus système pertinent
    • Journaux des événements système, ID d’événements d’erreur du Gestionnaire de contrôle de service pour les services système critiques
    • ID d’événement d’erreur 2019/2020 avec srv/serveur source
  • Générez un rapport Diagnostics système en exécutant perfmon /report.

Pour une machine virtuelle

  • Passez en revue les journaux système et application de l’ordinateur qui rencontre le problème.
  • Générez un rapport Diagnostics système en exécutant perfmon /report.
  • Vérifiez l’historique du système dans les outils de supervision de gestion virtuelle.

Collecter des données pour les problèmes de gel

Pour collecter des données pour un serveur figé, case activée le tableau suivant et utilisez une ou plusieurs des méthodes suggérées.

Type et état de l’ordinateur Méthode de collecte de données
Un ordinateur physique qui s’exécute dans un état figé Utilisez un fichier de vidage mémoire pour collecter des données. Ou utilisez la méthode 2, 3 ou 4. Ces méthodes sont répertoriées plus loin dans cette section.
Un ordinateur physique qui n’est plus figé Utilisez la méthode 1, 2, 3 ou 4. Ces méthodes sont répertoriées plus loin dans cette section. Et utilisez Pool Monitor pour collecter des données.
Une machine virtuelle qui s’exécute dans un état figé Hyper-V ou VMware : utilisez un fichier de vidage mémoire pour collecter des données pour la machine virtuelle qui s’exécute dans un état figé.
XenServer : utilisez la méthode 1, 2, 3 ou 4. Ces méthodes sont répertoriées plus loin dans cette section.
Une machine virtuelle qui n’est plus figée Utilisez la méthode 1, 2, 3 ou 4. Ces méthodes sont répertoriées plus loin dans cette section.

Méthode 1 : image mémoire

Importante

Suivez attentivement les étapes de cette section. Des problèmes graves peuvent se produire si vous modifiez le Registre de façon incorrecte. Avant de modifier le Registre, sauvegardez-le pour restauration en cas de problèmes.

Un fichier de vidage mémoire complet enregistre tout le contenu de la mémoire système lorsque l’ordinateur s’arrête de façon inattendue. Un fichier de vidage mémoire complet peut contenir des données provenant de processus qui étaient en cours d’exécution lors de la collecte du fichier d’image mémoire.

Si l’ordinateur n’est plus figé et s’exécute maintenant dans un bon état, procédez comme suit pour activer le vidage mémoire afin de pouvoir collecter l’image mémoire lorsque le problème de blocage se produit à nouveau. Si la machine virtuelle est toujours en cours d’exécution dans un état figé, procédez comme suit pour activer et collecter le vidage de la mémoire.

Remarque

Si vous disposez d’une fonctionnalité de redémarrage activée sur l’ordinateur, telle que la fonctionnalité Redémarrage automatique du système (ASR) sur les ordinateurs Compaq, désactivez-la. Ce paramètre se trouve généralement dans le BIOS. Une fois cette fonctionnalité activée, si le BIOS ne détecte pas une pulsation du système d’exploitation, il redémarre l’ordinateur. Le redémarrage peut interrompre le processus de vidage.

  1. Assurez-vous que l’ordinateur est configuré pour obtenir un fichier de vidage mémoire complet.

    1. Accédez à Exécuter et entrez Sysdm.cpl, puis appuyez sur Entrée.
    2. Dans Propriétés système, sous l’onglet Avancé, sélectionnezParamètres>de performances>avancés. Sélectionnez Modifier pour case activée ou modifiez la mémoire virtuelle.
    3. Retour aux propriétés> systèmeParamètres avancés> au démarrage et à la récupération.
    4. Dans la section Écrire des informations de débogage , sélectionnez Vidage mémoire complet.
    5. Sélectionnez Remplacer un fichier existant.
    6. Assurez-vous qu’il existe un fichier de pagination (pagefile.sys) sur le lecteur système et qu’il est d’au moins 100 Mo sur la RAM installée (taille initiale et maximale).
    7. Assurez-vous qu’il y a plus d’espace disponible sur le lecteur système que de RAM physique.
  2. Pour permettre au système de générer un fichier de vidage à l’aide du clavier, activez la valeur de CrashOnCtrlScroll Registre.

    1. Ouvrez la Rédacteur du Registre, puis recherchez les clés de Registre suivantes :

      • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters
      • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\kbdhid\Parameters
    2. Créez l’entrée de Registre suivante CrashOnCtrlScroll dans les deux clés de Registre :

      • Nom de la valeur : CrashOnCtrlScroll
      • Type de données : REG_DWORD
      • Valeur : 1
    3. Fermez la Rédacteur du Registre et redémarrez l’ordinateur.

  3. Sur certains ordinateurs physiques exécutant des versions antérieures de Windows, vous pouvez générer une interruption non makeable (NMI) à partir d’une fonctionnalité d’interface web telle que DRAC, iLo ou RSA. Toutefois, par défaut, ce paramètre arrête le système sans créer de vidage mémoire.

    Remarque

    Pour les versions de Windows actuellement prises en charge, la clé de NMICrashDump Registre n’est plus nécessaire. Une NMI provoque une erreur d’arrêt qui suit une collecte de données de vidage mémoire.

  4. Lorsque l’ordinateur présente le problème, maintenez la touche Ctrl enfoncée à droite, puis appuyez deux fois sur la touche Verrouillage de défilement pour générer un fichier de vidage mémoire.

    Remarque

    Par défaut, le fichier de vidage se trouve dans le chemin d’accès suivant : %SystemRoot%\MEMORY. DMP.

Méthode 2 : case activée d’intégrité des données

Utilisez l’utilitaire de vérification de vidage (Dumpchk.exe) pour lire un fichier de vidage mémoire. Il peut également vérifier que le fichier a été créé correctement et qu’il n’est pas endommagé ou non valide.

Découvrez comment utiliser Dumpchk.exe pour case activée vos fichiers de vidage :

Méthode 3 : Analyseur de performances

Vous pouvez utiliser Windows Analyseur de performances pour examiner la façon dont les programmes que vous exécutez affectent les performances de votre ordinateur, à la fois en temps réel et en collectant des données de journal en vue d’une analyse ultérieure. Pour créer des regroupements de compteurs de performances et de journaux de trace d’événements sur des systèmes locaux et distants, exécutez les commandes suivantes dans une invite de commandes en tant qu’administrateur :

Logman create counter LOGNAME_Long -u DOMAIN\USERNAME * -f bincirc -v mmddhhmm -max 500 -c "\\COMPUTERNAME\LogicalDisk(*)\*" "\\COMPUTERNAME\Memory\*" "\\COMPUTERNAME\Network Interface(*)\*" "\\COMPUTERNAME\Paging File(*)\*" "\\COMPUTERNAME\PhysicalDisk(*)\*" "\\COMPUTERNAME\Process(*)\*" "\\COMPUTERNAME\Redirector\*" "\\COMPUTERNAME\Server\*" "\\COMPUTERNAME\System\*" "\\COMPUTERNAME\Terminal Services\*" "\\COMPUTERNAME\Processor(*)\*" "\\COMPUTERNAME\Cache\*" -si 00:05:00
Logman create counter LOGNAME_Short -u DOMAIN\USERNAME * -f bincirc -v mmddhhmm -max 500 -c "\\COMPUTERNAME\LogicalDisk(*)\*" "\\COMPUTERNAME\Memory\*" "\\COMPUTERNAME\Network Interface(*)\*" "\\COMPUTERNAME\Paging File(*)\*" "\\COMPUTERNAME\PhysicalDisk(*)\*" "\\COMPUTERNAME\Process(*)\*" "\\COMPUTERNAME\Redirector\*" "\\COMPUTERNAME\Server\*" "\\COMPUTERNAME\System\*" "\\COMPUTERNAME\Terminal Services\*" "\\COMPUTERNAME\Processor(*)\*" "\\COMPUTERNAME\Cache\*" -si 00:00:10

Ensuite, vous pouvez démarrer ou arrêter le journal en exécutant les commandes suivantes :

logman start LOGNAME_Long / LOGNAME_Short
logman stop LOGNAME_Long / LOGNAME_Short

Le journal Analyseur de performances se trouve dans le chemin : C :\PERFLOGS.

Autres méthodes de collecte de données

Utiliser l’image mémoire pour collecter des données pour l’ordinateur physique qui s’exécute dans un état figé

Avertissement

Suivez attentivement les étapes de cette section. Des problèmes graves peuvent se produire si vous modifiez le Registre de façon incorrecte. Avant de modifier le Registre, sauvegardez-le pour restauration en cas de problèmes.

Si l’ordinateur physique est toujours en cours d’exécution dans un état figé, procédez comme suit pour activer et collecter le vidage de la mémoire :

  1. Assurez-vous que l’ordinateur est configuré pour obtenir un fichier de vidage mémoire complet et que vous pouvez y accéder via le réseau.

    Remarque

    S’il n’est pas possible d’accéder à l’ordinateur affecté via le réseau, essayez de générer un fichier de vidage mémoire via NMI. Le résultat de l’action peut ne pas collecter un fichier de vidage mémoire si certains des paramètres suivants ne sont pas qualifiés.

    1. Essayez d’accéder au bureau de l’ordinateur par n’importe quel moyen.

      Remarque

      Si l’accès au système d’exploitation n’est pas possible, essayez d’accéder à distance au Registre Rédacteur sur l’ordinateur. Vous pouvez ensuite case activée le type de fichier de vidage mémoire et de fichier de page avec lequel l’ordinateur est actuellement configuré.

    2. À partir d’un ordinateur distant qui se trouve de préférence dans le même réseau et le même sous-réseau, accédez à Registre Rédacteur>Connecter le registre réseau. Ensuite, connectez-vous à l’ordinateur affecté et vérifiez les paramètres suivants :

      • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl\CrashDumpEnabled

        Vérifiez que l’entrée de Registre CrashDumpEnabled est 1.

      • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl\NMICrashDump

        Sur certains serveurs physiques, si l’entrée de Registre NMICrashDump existe et que sa valeur est 1, vous pouvez tirer parti de l’interface NMI du fournisseur de gestion à distance, tel que DRAC, iLo et RSA.

      • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PagingFiles and ExistingPageFiles

        Si la valeur de l’entrée Pagefile de Registre est gérée par le système, la taille n’est pas reflétée dans le registre. Par exemple, ?:\pagefile.sys)

        Si le fichier de page est personnalisé, la taille est reflétée dans le Registre, par ?:\pagefile.sys 1024 1124exemple . Dans cet exemple, 1024 est la taille initiale et 1124 est la taille maximale.

        Remarque

        Si la taille n’est pas reflétée dans le Registre, essayez d’accéder à un partage d’administration où se trouve le fichier de page. Par exemple, \\ServerName\C$.

    3. Assurez-vous qu’il existe un fichier de pagination (pagefile.sys) sur le lecteur système de l’ordinateur, et qu’il est d’au moins 100 Mo sur la RAM installée.

    4. Assurez-vous qu’il y a plus d’espace libre sur les disques durs de l’ordinateur qu’il n’y a de RAM physique.

  2. Activez la valeur de Registre CrashOnCtrlScroll sur l’ordinateur pour permettre au système de générer un fichier de vidage à l’aide du clavier.

    1. À partir d’un ordinateur distant, de préférence dans le même réseau et le même sous-réseau, accédez à Registre Rédacteur>Connecter le registre réseau. Connectez-vous à l’ordinateur affecté et recherchez les clés de Registre suivantes :

      • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters
      • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\kbdhid\Parameters
    2. Créez l’entrée de Registre suivante CrashOnCtrlScroll dans les deux clés de Registre :

      Nom de la valeur : CrashOnCtrlScroll Type de données : REG_DWORD Valeur : 1

    3. Fermez la Rédacteur du Registre et redémarrez l’ordinateur.

  3. Lorsque l’ordinateur présente le problème, maintenez la touche Ctrl enfoncée à droite, puis appuyez deux fois sur la touche Verrouillage de défilement pour générer une image mémoire.

    Remarque

    Par défaut, le fichier de vidage se trouve dans le chemin d’accès : %SystemRoot%\MEMORY. DMP.

Utiliser le moniteur de pool pour collecter des données pour l’ordinateur physique qui n’est plus figé

Pool Monitor vous indique le nombre d’allocations et d’octets en attente d’allocation par type de pool et la balise qui est passée dans les appels d’ExAllocatePoolWithTag.

Pour plus d’informations, consultez Utilisation de PoolMon pour rechercher une fuite de mémoire Kernel-Mode et Exemples PoolMon.

Utiliser l’image mémoire pour collecter des données pour la machine virtuelle qui s’exécute dans un état figé

Utilisez l’une des méthodes suivantes pour l’application sur laquelle la machine virtuelle s’exécute.

Microsoft Hyper-V

Vous pouvez également utiliser la fonctionnalité NMI intégrée via une applet de commande Debug-VM pour déboguer et obtenir une image mémoire.

Pour déboguer les machines virtuelles sur Hyper-V, exécutez l’applet de commande suivante dans Windows PowerShell :

Debug-VM -Name "VM Name" -InjectNonMaskableInterrupt -ComputerName Hostname  

Vmware

Vous pouvez utiliser des instantanés VMware ou suspendre l’état et extraire un fichier de vidage mémoire équivalent à un fichier de vidage mémoire complet. Utilisez l’outil Checkpoint To Core de VMware (vmss2core) pour convertir les fichiers d’état suspend (.vmss) et instantané (.vmsn) en fichier de vidage. Analysez ensuite le fichier à l’aide des outils de débogage Windows standard.

Citrix XenServer

Le processus de vidage de la mémoire se produit en appuyant sur la combinaison de clavier Ctrl droite+Verrouillage de défilement+Verrouillage de défilement. Pour plus d’informations, consultez La méthode 1 du Guide pratique pour déclencher un vidage de la mémoire à partir d’une machine virtuelle Windows s’exécutant sur XenServer à partir de Citrix.

Limitations d’espace sur le lecteur système dans Windows Server

Sur un serveur Windows Server, vous ne disposez peut-être pas de suffisamment d’espace disque libre pour générer un fichier de vidage mémoire complet sur le volume système.

Il existe une deuxième option si le lecteur système ne dispose pas de suffisamment d’espace. Vous pouvez utiliser l’entrée de Registre DedicatedDumpFile. Pour plus d’informations, consultez Configurer le chemin de destination d’une image mémoire.

Pour plus d’informations, consultez Utilisation de la valeur de Registre DedicatedDumpFile pour surmonter les limitations d’espace sur le lecteur système.