Comment trouver et réparer les fuites de mémoire dans Windows 10

La fuite de mémoire dans Windows est un problème sérieux auquel les utilisateurs sont confrontés. Apprenez à vérifier, trouver, prévenir et corriger les fuites de mémoire dans Windows. Bien que difficile, quelques étapes pourraient aider.

À Fuite de mémoire est un mauvais placement de ressources dans un programme informatique en raison d'une allocation de mémoire défectueuse. Cela arrive quand un RAM l'emplacement non utilisé reste inédit. Une fuite de mémoire ne doit pas être confondue avec une fuite d'espace, qui fait référence à un programme utilisant plus de RAM que nécessaire. On dit qu'une fuite de mémoire sur un système Windows 10/8/7 s'est produite lorsque la mémoire n'est tout simplement pas accessible alors qu'elle n'est pas utilisée.

Fuites de mémoire dans Windows 10

Avant de commencer, vous devez savoir que la fuite de mémoire est un problème logiciel à déboguer - par exemple en Java, JavaScript, C / C ++, Windows, etc. Le remplacement physique de la RAM ou du disque dur n'est pas nécessaire.



Fuite de mémoire dans Windows 10

Pourquoi est-ce mauvais

Il est évident qu'une fuite de mémoire est mauvaise car c'est un bug, une faille dans le système. Mais voyons comment cela affecte exactement le système:

  1. Étant donné que la mémoire n'est pas libérée même lorsqu'elle n'est pas utilisée, il en résulte un épuisement de la mémoire.
  2. L'épuisement de la mémoire entraîne le vieillissement du logiciel.
  3. La réduction de la mémoire disponible entraîne un temps de réponse accru et des performances médiocres du système.
  4. Une fuite de mémoire non contrôlée peut éventuellement conduire au plantage d'une application.

Afin d'identifier une fuite de mémoire, un programmeur doit avoir accès au code source du programme.

Localisation de la fuite

Afin de résoudre un problème, nous devons d'abord l'identifier. Les étapes de base pour localiser une fuite de mémoire sont:

  1. Affirmation : Déterminer si une fuite s'est produite.
  2. Recherche d'une fuite de mémoire en mode noyau : Localisation d'une fuite causée par un composant de pilote en mode noyau.
  3. Recherche d'une fuite de mémoire en mode utilisateur : Localisation d'une fuite causée par un pilote ou une application en mode utilisateur.

Allocation de mémoire

Il existe différents modes dans lesquels les applications allouent de la RAM. Si l'espace n'est pas libéré après utilisation, la fuite de mémoire se produira quel que soit le mode d'allocation. Certains modèles d'allocation courants sont:

  1. Fonction HealAlloc pour l'allocation de mémoire de tas. Les équivalents d'exécution C / C ++ sont malloc et new.
  2. Fonction VirtualAlloc pour l'allocation directe depuis l'OS.
  3. API Kernel32 pour contenir la mémoire du noyau pour l'application. Exemple, CreateFile, CreateThread.
  4. API User32 et API Gdi32.

Prévenir les fuites de mémoire

Nous savons tous que mieux vaut prévenir que guérir, alors voici quelques moyens d'éviter une fuite de mémoire.

Suivi des habitudes

Fuites de mémoire dans Windows 10

Vous devez garder un œil sur l'utilisation anormale de la RAM par des programmes et des applications individuels. Vous pouvez accéder au Gestionnaire des tâches Windows en appuyant sur CTRL + MAJ + ÉCHAP et ajoutez les colonnes comme les poignées, les objets utilisateur, les objets GDI, etc.

Cela vous aidera à surveiller facilement l'utilisation des ressources.

Outils Microsoft pour diagnostiquer les fuites de mémoire

Divers outils diagnostiquent les fuites de mémoire pour différents modes d'allocation:

  1. Application Verifier diagnostique les fuites de tas.
  2. UMDH (un composant des outils de débogage Windows) diagnostique les fuites pour les processus individuels en surveillant les allocations de mémoire de tas.
  3. Trace Capture pour une analyse approfondie de l'utilisation de la RAM.
  4. Xperf suit également les modèles d'allocation de tas.
  5. CRT Debug Heap non seulement suit les allocations de tas, mais permet également des pratiques de codage pour minimiser les fuites.
  6. JavaScript Memory Leak Detector débogue les fuites de mémoire dans les codes.

Conseils d'utilisation

  1. Utiliser le noyau MANIPULER s et autres pointeurs intelligents pour les ressources Win32 et les allocations de tas.
  2. Obtenez des classes pour la gestion automatique des ressources pour les allocations de noyau à partir de la bibliothèque ATL. La norme C ++ a auto_ptr pour les allocations de tas.
  3. Encapsulez les pointeurs d'interface COM dans des «pointeurs intelligents» à l'aide de _com_ptr_t ou _bstr_t ou _variant_t .
  4. Surveillez le code .NET pour une utilisation anormale de la mémoire.
  5. Évitez les chemins de sortie multiples pour les fonctions afin de libérer les allocations des variables dans la plupart des blocs à la fin d'une fonction.
  6. N'utilisez les exceptions natives qu'après avoir libéré toutes les allocations dans le bloc _finally. Enveloppez tous les tas et gérez les allocations dans des pointeurs intelligents afin d'utiliser les exceptions C ++.
  7. Appelez toujours le PropVariantClear avant de réinitialiser ou de supprimer un objet PROPVARIANT.

Dépannage des fuites de mémoire dans Windows

Tout comme les différentes façons d'éviter les fuites de mémoire, il existe plusieurs façons d'arrêter les fuites de mémoire. Mais avant de commencer, n'oubliez pas de créer d'abord un point de restauration système .

la actualización de Windows 10 falla y vuelve a Windows 7

1] Fermez les processus et redémarrez.

Si vous voyez qu'un processus inutile occupe trop de RAM, vous pouvez terminer le processus dans le Gestionnaire des tâches. Vous devrez redémarrer le périphérique afin que l'espace libéré soit disponible pour une utilisation par d'autres processus. Sans un problème de fuite de mémoire au redémarrage, il ne sera pas résolu. Un processus particulier qui a des bogues pour ralentir le PC est Runtime Broker. Essayez si la désactivation seule fonctionne.

2] Outils de diagnostic de la mémoire

Diagnostics de la mémoire Windows

Pour accéder au intégré Outil de diagnostic de la mémoire Pour les fenêtres:

  1. Sauvegardez tout votre travail important.
  2. presse Gagner + R pour ouvrir le Courir la fenêtre.
  3. Tapez la commande mdsched.exe dans le Courir la fenêtre.
  4. Redémarrez le PC.
  5. Après un redémarrage, effectuez une analyse de base ou optez pour le ' Avancée 'Options comme' Mélange d'essai ' ou ' Nombre de passes ».
  6. presse F10 pour démarrer le test.

Ce sont encore des correctifs temporaires.

disco desconocido no inicializado

3] Vérifiez les mises à jour du pilote

Mettre à jour le logiciel du pilote

Les pilotes obsolètes provoquent des fuites de mémoire. Gardez tous les pilotes à jour :

  1. presse Gagner + R et ouvrez le Courir la fenêtre. Type devmgmt.msc et appuyez sur Entrée. Cela vous mènera au Gestionnaire de périphériques .
  2. Recherchez les pilotes obsolètes et mettez-les tous à jour.
  3. Pour les mises à jour que vous avez peut-être manquées, consultez Windows Update.

C'était simple.

4] Optimiser les performances

Ajuster pour de meilleures performances

Ajuster Windows pour les performances gérera tout, y compris la planification du processeur et l'utilisation de la mémoire pour arrêter les fuites de mémoire. Suivez ces étapes:

  1. Faites un clic droit sur ' Ce PC »Et sélectionnez« Avancée »Dans le volet gauche.
  2. Sous le ' Avancée L'onglet ', accédez à' Performance ', suivi par ' Réglages ».
  3. Vérifier ' Ajuster pour de meilleures performances »Et cliquez sur D'accord .
  4. Redémarrez et vérifiez si le problème est résolu.

Si cette solution simple ne fonctionne pas, essayez la solution suivante.

5] Désactivez les programmes en cours d'exécution au démarrage

Programmes de démarrage

La désactivation des programmes gênants est le seul moyen de se débarrasser du problème de fuite de mémoire. Accédez au Gestionnaire des tâches et désactivez le programme de dépannage. Si vous ne savez pas quels programmes sont à l'origine du problème, procédez comme suit:

  1. Aller à ' Gestionnaire des tâches ».
  2. Aller à ' Commencez ».
  3. Désactivez les programmes de démarrage vous n'avez pas besoin d'exécuter par défaut.

6] Défragmentation du disque dur

Défragmentation de disque

Bien que Windows 10 le fasse automatiquement pour vous, vous devrez peut-être le faire défragmenter les disques durs occasionnellement pour optimiser les performances:

  1. Aller à ' Ce PC ' ou ' Mon ordinateur ».
  2. Cliquez avec le bouton droit sur le disque dur du système (généralement le lecteur C:).
  3. Aller à ' Outils ' en dessous de ' Propriétés 'Et sélectionnez' Optimiser ».
  4. Sélectionnez le lecteur à défragmenter et sélectionnez « Analyser ».

Redémarrez votre ordinateur après la nouvelle fragmentation.

7] Fichier ClearPage à l'arrêt

Cela devient complexe maintenant - mais ne vous inquiétez pas. Voici comment faire effacer le fichier d'échange à chaque arrêt :

  • Type regedit sur Rechercher pour lancer l'éditeur de registre.
  • Entrez ce chemin:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerGestion de la mémoire
  • Changer la valeur de ClearPageFileAtShutDown à «1».
  • Enregistrez les modifications et redémarrez l'appareil.

Cela devrait le faire. N'oubliez pas que votre processus d'arrêt prendra un peu plus de temps.

9] Désactiver Superfetch

Ce service Windows optimise les performances en minimisant le temps de démarrage. Il permet à Windows de gérer l'utilisation de la RAM. La vie après la désactivation Superfetch n'est pas pratique mais faites-le si vous le devez. Essayez au moins cela seul pour isoler le problème:

  1. Chercher services.msc et accédez au Gestionnaire de services.
  2. Chercher ' Superfetch 'Et cliquez dessus avec le bouton droit de la souris pour accéder à' Propriétés ».
  3. Sélectionnez « Arrêtez ».
  4. Également ' Désactiver ’Le service dans le menu déroulant.
  5. Redémarrez le PC et vérifiez si les performances se sont améliorées.

Activez Superfetch si celui-ci ne fonctionne pas.

10] Recherchez les logiciels malveillants

Utilisez un logiciel antivirus tiers ou Windows Defender interne de Windows 10 pour analyser et éliminer les logiciels malveillants. Assurez-vous que l'antivirus est mis à jour pour prendre en charge votre système d'exploitation afin qu'il ne finisse pas par devenir la raison de la fuite de mémoire.

Téléchargez l'outil de réparation PC pour trouver et corriger automatiquement les erreurs Windows

Toutes les solutions dont vous pourriez avoir besoin pour trouver ou prévenir les fuites de mémoire se trouvent ici. Vous pouvez en savoir plus sur les fuites de mémoire sur MSDN et Microsoft .

Articles Populaires