Com trobar i solucionar fuites de memòria a Windows 10

How Find Fix Memory Leaks Windows 10



Si el vostre PC amb Windows 10 pateix problemes de rendiment, podria ser a causa d'una fuga de memòria. A continuació s'explica com trobar i solucionar les fuites de memòria a Windows 10. Quan instal·leu Windows 10 per primera vegada, és una bona idea executar el Comprovador de fitxers del sistema. Això comprovarà i solucionarà qualsevol fitxer del sistema corrupte. Per fer-ho, obriu el símbol del sistema i escriviu: sfc /scannow Un cop finalitzada l'escaneig, reinicieu el vostre PC. Si encara veieu problemes de rendiment, és hora de comprovar si hi ha fuites de memòria. Per fer-ho, obriu el Gestor de tasques i aneu a la pestanya Rendiment. A la columna Memòria, veureu quanta memòria s'està utilitzant. Si aquest nombre augmenta constantment, és probable que tingueu una fuga de memòria. Per solucionar una pèrdua de memòria, heu d'identificar quin programa està causant el problema. Per fer-ho, aneu a la pestanya Detalls i comproveu la columna PID. Això us mostrarà el PID (ID de procés) de cada programa en execució. Busqueu el programa amb el número PID més alt i finalitzeu aquest procés. Un cop hàgiu acabat el procés, reinicieu el vostre PC i comproveu si el problema s'ha solucionat. Si no, repetiu el procés fins que trobeu el culpable.



A Pèrdua de memòria és la mala assignació de recursos en un programa informàtic a causa d'una assignació incorrecta de memòria. Passa quan va anar L'espai no utilitzat continua sense publicar. No s'ha de confondre una fuita de memòria amb una fuga d'espai, que es refereix a un programa que utilitza més RAM de la que necessita. S'ha informat que es produeix una fuga de memòria en un sistema Windows 10/8/7 quan la memòria simplement no està disponible tot i que no s'està utilitzant.





Fuites de memòria a Windows 10

Abans de començar, heu de saber que una fuga de memòria és un problema de programari que cal depurar, com ara Java, JavaScript, C/C++, Windows, etc. No cal substituir físicament la memòria RAM o el disc dur.





Fuga de memòria a Windows 10



Per què és tan dolent

Òbviament, una fuita de memòria és una cosa dolenta, perquè és un error, una fallada del sistema. Però anem a esbrinar exactament com això afecta el sistema:

  1. Com que la memòria no s'allibera encara que no s'estigui utilitzant, fa que s'esgoti.
  2. L'esgotament de la memòria provoca l'envelliment del programari.
  3. La reducció de la memòria disponible augmenta el temps de resposta i el rendiment del sistema.
  4. Una fuga de memòria incontrolada pot acabar bloquejant l'aplicació.

Per detectar una fuga de memòria, el programador necessita accedir al codi font del programa.

Detecció de fuites

Per resoldre un problema, primer hem d'identificar-lo. Passos bàsics per detectar una fuga de memòria:



  1. Confirmació : Detecció d'una fuita.
  2. Trobar una fuga de memòria en mode Kernel : cerqueu una filtració causada per un component del controlador en mode nucli.
  3. Trobar fuites de memòria en mode usuari : Detecció d'una fuga causada per una aplicació en mode usuari o controlador.

Assignació de memòria

Hi ha diferents maneres d'assignació de memòria RAM per aplicacions. Si l'espai no s'allibera després de l'ús, es produirà una fuga de memòria independentment del mode d'assignació. Aquests són alguns patrons de distribució habituals:

  1. Funció HealAlloc per assignar memòria al munt. Els equivalents en temps d'execució de C/C++ són malloc i nous.
  2. Funció VirtualAlloc per a l'assignació directa des del sistema operatiu.
  3. API Kernel32 per emmagatzemar la memòria del nucli per a una aplicació. Exemple: CreateFile, CreateThread.
  4. API User32 i API Gdi32.

Prevenció de fuites de memòria

Tots sabem que és millor prevenir que curar, així que aquí teniu algunes maneres d'evitar fuites de memòria.

Seguiment d'hàbits

Fuites de memòria a Windows 10

l'actualització de Windows 10 falla i torna a Windows 7

Heu de vigilar l'ús anormal de la memòria RAM per part de programes i aplicacions individuals. Podeu anar al Gestor de tasques de Windows fent clic CTRL + MAJÚS + ESC i afegiu columnes com Handles, Objectes d'usuari, Objectes GDI, etc.

Això us ajudarà a fer un seguiment fàcil de l'ús dels recursos.

Eines de Microsoft per diagnosticar fuites de memòria

Diverses eines diagnostiquen les fuites de memòria per a diferents modes d'assignació:

  1. Application Verifier diagnostica les fuites d'heap.
  2. UMDH (un component de les eines de depuració de Windows) diagnostica les fuites per procés mitjançant el seguiment de les assignacions de pila.
  3. Trace Capture per a una anàlisi exhaustiva de l'ús de la memòria RAM.
  4. Xperf també fa un seguiment dels patrons d'assignació de pila.
  5. CRT Debug Heap no només fa un seguiment de l'assignació de pila, sinó que també us permet aplicar tècniques de codificació per minimitzar les fuites.
  6. El detector de fuites de memòria JavaScript depura les fuites de memòria als codis.

Consells d'ús

  1. Utilitzeu el nucli Afrontar-se s i altres punters intel·ligents per a recursos Win32 i assignacions de pila.
  2. Obteniu classes per a la gestió automàtica de recursos per a l'assignació bàsica de la biblioteca ATL. L'estàndard C++ té auto_ptr per a l'assignació de pila.
  3. Encapsular els punters de la interfície COM en 'punters intel·ligents' amb _com_ptr_t o _bstr_t o _variant_t .
  4. Superviseu el codi .NET per a un ús anormal de la memòria.
  5. Eviteu diversos camins de sortida per a funcions per permetre que les assignacions variables a la majoria de blocs s'alliberin al final de la funció.
  6. Utilitzeu excepcions personalitzades només després que s'hagin alliberat totes les assignacions del bloc _finally. Embolica tot el munt i tracta les assignacions en punters intel·ligents per utilitzar excepcions de C++.
  7. Truca sempre PropVariantClear abans de reiniciar o suprimir l'objecte PROPVARIANT.

Arreglar les fuites de memòria a Windows

Igual que les diferents maneres d'evitar fuites de memòria, hi ha diferents maneres d'evitar fuites de memòria. Però abans de començar, no t'oblidis primer creeu un punt de restauració del sistema .

1] Tanqueu els processos i reinicieu-los.

Si veieu un procés innecessari que ocupa massa RAM, podeu finalitzar el procés al Gestor de tasques. Haureu de reiniciar el dispositiu perquè l'espai alliberat estigui disponible per a altres processos. Sense un reinici, el problema de la pèrdua de memòria no es resoldrà. Un procés particular que té errors que frenen el PC és Runtime Broker. Intenta veure si només funciona desactivant això.

2] Eines de diagnòstic de memòria

Diagnòstic de memòria de Windows

disc desconegut no inicialitzat

Per accedir a l'incorporat Eina de diagnòstic de memòria per a Windows:

  1. Guarda tota la teva feina important.
  2. Feu clic Guanya + R obert correr finestra.
  3. Introduïu l'ordre mdsched.exe EN correr finestra.
  4. Reinicieu l'ordinador.
  5. Després de reiniciar, feu una exploració bàsica o seleccioneu ' Avançat 'Opcions com' Mescla de prova ' o ' Nombre de passades '.
  6. Feu clic F10 per iniciar la prova.

Aquestes són solucions temporals de moment.

3] Comproveu si hi ha actualitzacions de controladors

Actualització del programari del controlador

Els controladors obsolets causen fuites de memòria. Actualitzeu tots els controladors :

  1. Feu clic Guanya + R i obert correr finestra. Tipus devmgmt.msc i premeu Intro. Això us portarà a gestor de dispositius .
  2. Comproveu si hi ha controladors obsolets i actualitzeu-los tots.
  3. Per obtenir actualitzacions que potser us heu perdut, consulteu Windows Update.

Va ser fàcil.

4] Optimització del rendiment

Ajusteu per obtenir el millor rendiment

Ajust del rendiment de Windows gestionarà tot, inclosa la programació de la CPU i l'ús de la memòria per evitar fuites de memòria. Seguiu aquests passos:

  1. Clic dret ' Aquest ordinador »i seleccioneu« Avançat 'Al panell esquerre.
  2. Sota ' Avançat A la pestanya ' L'actuació
Entrades Populars