Memorie completă ce. Ce este un dump de memorie și cum se închide. Vedeți ce este „Dump” în alte dicționare

Salutare prieteni, astăzi vom discuta un subiect interesant care vă va ajuta pe viitor când apare un ecran albastru al morții (BSoD).

La fel ca mine, mulți alți utilizatori au fost nevoiți să observe aspectul unui ecran cu un fundal albastru pe care era scris ceva (alb pe albastru). Acest fenomen indică o problemă critică, atât în ​​software, de exemplu, un conflict de driver, cât și într-o defecțiune fizică a unei componente ale computerului.

Am avut recent o problemă cu ecranul albastru în Windows 10, dar am scăpat rapid de ea și vă voi spune despre asta în curând.

Vreţi? Apoi urmați linkul.

Deci, majoritatea utilizatorilor nu știu că BSoD poate fi analizat pentru a înțelege mai târziu problemele de eroare critice. Pentru astfel de cazuri, Windows creează fișiere speciale pe disc și le vom analiza.

Există trei tipuri de dump de memorie:

Memorie completă– această funcție vă permite să salvați complet conținutul RAM. Este rar folosit, deoarece imaginați-vă că aveți 32 GB de RAM, cu un dump complet, tot acest volum va fi stocat pe disc.

Halda de miez– salvează informațiile despre modul kernel.

Mic depozit de memorie– salvează o cantitate mică de informații despre eroare și componente încărcate care erau prezente în momentul în care a apărut defecțiunea sistemului. Vom folosi acest tip de dump pentru că ne va oferi suficiente informații despre BSoD.

Locația atât a depozitului mic, cât și a completului este diferită, de exemplu, depozitul mic este situat în următoarea cale: %systemroot%\minidump.

Dump-ul complet este aici: %systemroot%.

Există diverse programe pentru analiza depozitelor de memorie, dar vom folosi două. Primul este Microsoft Kernel Debuggers, după cum sugerează și numele, un utilitar de la Microsoft. Îl puteți descărca de pe site-ul oficial. Al doilea program este BlueScreenView, un program gratuit, descărcat de aici.

Analizarea unei imagini de descărcare a memoriei utilizând programele de depanare Microsoft Kernel

Pentru versiuni diferite de sisteme, trebuie să descărcați un alt tip de utilitar. De exemplu, pentru un sistem de operare pe 64 de biți este nevoie de un program pe 64 de biți, pentru un sistem de operare pe 32 de biți este necesară o versiune pe 32 de biți.

Asta nu este tot, trebuie să descărcați și să instalați pachetul de simboluri de depanare necesare programului. Se numește simboluri de depanare. Fiecare versiune a acestui pachet este descărcată și sub un anumit sistem de operare, mai întâi aflați ce sistem aveți, apoi descărcați. Pentru a nu trebui să cauți nicăieri aceste simboluri, aici este linkul de descărcare. Instalarea ar trebui să se facă de preferință în această cale: %systemroot%\symbols.

Acum puteți lansa depanatorul nostru, a cărui fereastră va arăta astfel:

Înainte de a analiza depozitele, vom configura ceva în utilitar. În primul rând, trebuie să spunem programului unde am instalat simbolurile de depanare. Pentru a face acest lucru, faceți clic pe butonul „Fișier” și selectați elementul „Cale fișier simbol”, apoi specificați calea către simboluri.


Programul vă permite să extrageți simboluri direct de pe web, astfel încât nici măcar nu trebuie să le descărcați (scuze celor care le-au descărcat deja). Vor fi preluate de pe un server Microsoft, deci totul este securizat. Deci, trebuie să deschideți din nou „Fișier”, apoi „Calea fișierului simbol” și să introduceți următoarea comandă:

SRV*%systemroot%\symbols*http://msdl.microsoft.com/download/symbols


Astfel, am indicat programului că simbolurile ar trebui luate din rețea. După ce am făcut acest lucru, faceți clic pe „Fișier” și selectați „Salvare spațiu de lucru”, apoi faceți clic pe OK.

Asta este. Am configurat programul în modul corect, acum începem să analizăm depozitele de memorie. În program, apăsați butonul "Fişier", Atunci „Deschideți crash Dump”și selectați fișierul dorit.

Kernel Debuggers va începe să analizeze fișierul și apoi va afișa un rezultat despre cauza erorii.


În fereastra care apare, puteți introduce comenzi. Daca intram !analiza –v, atunci vom obține mai multe informații.

Asta e tot cu acest program. Pentru a opri depanarea, selectați „Depanare” și elementul „Oprire depanare”.

Analizarea unui dump de memorie folosind BlueScreenView

Programul BlueScreenView este, de asemenea, potrivit pentru analiza diferitelor erori și BSoD-uri, are o interfață simplă, deci nu ar trebui să existe probleme cu stăpânirea acestuia.

Descărcați programul din linkul de mai sus și instalați. După lansarea utilitarului, trebuie să-l configurați. Accesați parametrii: „Setări” - „Setări avansate”. Se va deschide o fereastră mică cu câteva articole. În primul paragraf, trebuie să indicați locația depozitelor de memorie. Acestea sunt de obicei localizate în calea C:\WINDOWS\Minidump. Apoi faceți clic pe butonul „Implicit”.


Ce poți vedea în program? Avem elemente de meniu, o parte a ferestrei cu numele fișierelor dump și a doua parte a ferestrei – conținutul dump-urilor de memorie.


După cum am spus la începutul articolului, depozitele pot stoca drivere, captura de ecran a „ecranului morții” în sine și alte informații utile care ne pot fi utile.

Deci, în prima parte a ferestrei, unde se află fișierele dump, selectați dump-ul de memorie de care avem nevoie. În următoarea parte a ferestrei ne uităm la conținut. Driverele localizate în stiva de memorie sunt marcate cu culoare roșiatică. Ele sunt tocmai cauza ecranului albastru al morții.

Pe Internet puteți găsi totul despre codul de eroare și driverul care ar putea fi de vină pentru BSoD. Pentru a face acest lucru, faceți clic pe „Fișier”, apoi „Găsiți codul de eroare + Driver în Google”.


Puteți afișa numai driverele care erau prezente în momentul în care a apărut eroarea. Pentru a face acest lucru, faceți clic pe „Setări” - „Modul ferestrei de jos” - „Numai driverele găsite în stiva de blocare”. Sau apăsați tasta F7.

Pentru a afișa captura de ecran BSoD, apăsați F8.

Pentru a afișa toate driverele și fișierele, apăsați F6.

Ei bine, asta-i tot. Acum știți cum să aflați despre problema Ecranului albastru al morții și, dacă se întâmplă ceva, găsiți o soluție pe Internet sau pe acest site. Puteți oferi codurile dvs. de eroare și voi încerca să scriu pentru fiecare articol pentru a rezolva problema.

De asemenea, nu uitați să puneți întrebări în comentarii.

In sectiunea O descărcare în caz de accident este definită de următorii parametri:

REG_DWORD-parametru Repornire automată cu sens 0x1(opţiune Efectuați repornirea automată fereastra sub fereastră Proprietățile sistemului);

REG_DWORD-parametru CrashDump Activat cu sens 0x0, dacă nu se creează un dump de memorie; 0x1Memorie completă; 0x2Dump memorie kernel; 0x3Descarcare de memorie mică (64KB);

REG_EXPAND_SZ-parametru DumpFile cu sens %SystemRoot%\MEMORY.DMP(dump locația de stocare a fișierelor);

REG_DWORD-parametru LogEvent cu sens 0x1(opţiune Înregistrează evenimentul ferestre);

REG_EXPAND_SZ-parametru MinidumpDir cu sens %SystemRoot%\Minidump(optional);

REG_DWORD-parametru Suprascrie cu sens 0x1(opţiune Înlocuiți fișierul existent ferestre);

REG_DWORD-parametru Trimite alertă cu sens 0x1(opţiune Trimiteți o alertă administrativă ferestre).

Cum creează sistemul un fișier de memorie de urgență

În timpul pornirii, sistemul de operare verifică parametrii de creare a situațiilor de urgență în secțiunea de registru . Dacă este specificat cel puțin un parametru, sistemul generează o hartă a blocurilor de disc ocupate pe volumul de pornire și o stochează în memorie. De asemenea, sistemul determină ce dispozitiv de disc controlează volumul de pornire și calculează sumele de verificare pentru imagine în memorie și pentru structurile de date care trebuie să fie întregi pentru a putea efectua operațiuni I/O.

După o eroare, nucleul sistemului verifică integritatea hărții fișierelor de pagină, a fișierelor de disc și a structurilor de control ale discului. Dacă integritatea acestor structuri nu este încălcată, atunci nucleul sistemului apelează funcții speciale I/O pe disc. , conceput pentru a salva o imagine de memorie după o eroare. Aceste funcții I/O sunt autonome și nu se bazează pe serviciile kernelului, deoarece programele responsabile cu scrierea blocării nu pot face nicio presupunere cu privire la care părți ale nucleului de sistem sau dispozitive au fost deteriorate atunci când a avut loc un accident. Nucleul de sistem scrie date din memorie pe harta sectorului fișierului de paginare (nu trebuie să foloseascăsistem de fișiere).

În primul rând, nucleul sistemului verifică starea fiecărei componente implicate în procesul de descărcare. Acest lucru se face astfel încât, atunci când scrieți direct în sectoarele de disc, datele aflate în afara fișierului să nu fie deteriorate. Dimensiunea fișierului ar trebui să fie 1 MB este mai mare decât dimensiunea memoriei fizice, deoarece atunci când informațiile sunt scrise, este creat un antet care conține semnătura de urgență și valorile mai multor variabile importante ale nucleului de sistem. Titlul ocupă mai puțin de 1 MB, dar sistemul de operare poate crește (sau micșora) dimensiunea fișierului de paginare cu cel puțin 1 MB.

După pornirea sistemului Manager de sesiune (Manager de sesiune Windows NT; adresa discului - \WINDOWS\system32\smss.exe) inițializează fișierele de sistem, folosind propria funcție pentru a crea fiecare fișier NtCreatePagingFile. NtCreatePagingFile determină dacă fișierul inițializat există și, dacă da, dacă are un antet . Dacă există un titlu, atunci NtCreatePagingFile trimite la Manager de sesiune cod special. După care Manager de sesiuneîncepe procesul Winlogon (Programul de conectare Windows NT; adresa discului - \WINDOWS\system32\winlogon.exe), căruia i se anunță existența unei urgențe . Winlogon pornește programul SaveDump (Programul de copiere a memoriei Windows NT; adresa discului - \WINDOWS\system32\savedump.exe), care analizează antetul și determină acțiuni ulterioare în caz de urgență.

Dacă titlul indică existenţa , Asta SaveDump copiează datele dintr-un fișier într-un fișier de urgență al cărui nume este specificat REG_EXPAND_SZ-parametru DumpFile secțiune . la revedere SaveDump rescrie fișierul , sistemul de operare nu folosește partea din fișierul de pagină care conține situația de urgență . În acest timp, cantitatea de memorie virtuală disponibilă pentru sistem și aplicații este redusă cu (În același timp, pe ecran pot apărea mesaje care indică lipsa memoriei virtuale). Apoi SaveDump informează managerul de memorie că salvarea este finalizată , și el eliberează acea parte fișierul în care este stocat , pentru uz general.

Salvarea fișierului , program SaveDumpînregistrează crearea unei urgențe în jurnalul de evenimente , de exemplu: „Computerul a fost repornit după o eroare critică: 0x100000d1 (0xc84d90a6, 0x00000010, 0x00000000, 0xc84d90a6). Copie din memorie salvată: C:\WINDOWS\Minidump\Mini060309-01.dmp" .

Memorie completă scrie întregul conținut al memoriei atunci când apare o eroare fatală. Pentru această opțiune, trebuie să aveți un fișier de paginare pe volumul de pornire, a cărui dimensiune este egală cu cantitatea întregii RAM fizice plus 1 MB. Implicit plin memoria este scrisă într-un fișier %SystemRoot%\Memory.dmp. Dacă apare o nouă eroare și este creat un nou fișier complet memorie (sau memorie kernel) fișierul anterior este înlocuit (suprascris). Parametru Memorie completă nu este disponibil pe sistemele care rulează un sistem de operare pe 32 de biți și 2 sau mai multe RAM.

Dacă apare o nouă eroare și este creat un nou fișier complet memorie fișierul anterior este înlocuit.

Dump memorie kernel scrie doar memoria kernelului, ceea ce face ca procesul de scriere a datelor în jurnal atunci când sistemul se oprește brusc să continue mai rapid. În funcție de cantitatea de memorie fizicăîn acest caz, fișierul de pagină necesită 50 până la 800 MB sau o treime din memoria fizică de pe volumul de pornire. memoria nucleului este scrisă într-un fișier %SystemRoot%\Memory.dmp.

Acest nu include memoria nealocată sau memoria alocată programelor de mod. Include doar memoria alocată nucleului și stratului specific hardware ( HAL) V Windows 2000și versiunile ulterioare ale sistemului, precum și memoria alocată pentru modul kernel și alte programe în modul kernel. În majoritatea cazurilor asta este varianta cea mai preferată. Ocupă mult mai puțin spațiu în comparație cu un plin memorie, excluzând în același timp numai acele sectoare de memorie care cel mai probabil nu sunt asociate cu eroarea.

Când apare o nouă eroare și este creat un nou fișier memorie kernel fișierul anterior este înlocuit.

Mic depozit de memorieînregistrează cea mai mică cantitate de informații utile necesare pentru a determina cauza problemei. Pentru a crea un mic memoria necesită ca dimensiunea fișierului de pagină să fie de cel puțin 2 MB pe volumul de pornire.

Fișiere mici memoria conține următoarele informații:

– mesaj despre o eroare fatală, parametrii acesteia și alte date;

– lista de descărcate;

– context ( PRCB) la care s-a produs defecțiunea;

EPROCES) pentru procesul care a cauzat eroarea;

– procesarea informațiilor și contextul nucleului ( ETHREAD) pentru firul care a cauzat eroarea;

– Stiva de apeluri în modul Kernel pentru firul care a cauzat eroarea.

Dosar mic memoria este utilizată când spațiul pe hard disk este limitat. Cu toate acestea, din cauza informațiilor limitate pe care le conține, este posibil ca analiza acestui fișier să nu detecteze întotdeauna erori care nu au fost cauzate direct de firul care rulează în momentul în care a apărut eroarea.

Dacă apare următoarea eroare și este creat un al doilea fișier mic memorie, fișierul anterior este păstrat. Fiecare fișier suplimentar primește un nume unic. Data este codificată în numele fișierului. De exemplu, Mini051509-01.dmp- acesta este primul dosar memorie, creată la 15 mai 2009 Lista tuturor fișierelor mici memoria este stocată într-un folder %SystemRoot%\Minidump.

sistem de operare , fără îndoială, mult mai fiabil decât versiunile anterioare - datorită eforturilor ambilor dezvoltatori Microsoft, atât dezvoltatori hardware, cât și dezvoltatori de aplicații software . Cu toate acestea, situațiile de urgență - tot felul de defecțiuni și blocări ale sistemului - sunt inevitabile și depind decunoștințe și abilități în eliminarea acestora, depinde dacă va trebui să petreacă câteva minute pentru depanarea (de exemplu, actualizarea/depanarea sau reinstalarea programului aplicației care cauzează defecțiunea), sau câteva ore reinstalând/configurand sistemul de operare și software-ul aplicației (ceea ce nu garantează absența defecțiunilor și a blocărilor în viitor!).

Mulți administratori neglijează să analizeze depozitele de blocare Windows , crezând că lucrul cu ei este prea dificil. Este dificil, dar este posibil: chiar dacă, de exemplu, analiza unuia din zece vor avea succes - eforturile depuse pentru stăpânirea celor mai simple tehnici de analiză a situațiilor de urgență , nu va fi degeaba!...

În general, tu, ca utilizator, nu ar trebui să fii interesat de o descărcare de memorie. Acestea sunt doar informații despre o defecțiune a sistemului, care în mod ideal ar trebui să fie trimise dezvoltatorilor Microsoft pentru a găsi și remedia erorile critice. Dacă nu intenționați să vă implicați într-o astfel de organizație caritabilă, atunci puteți dezactiva descărcarea.

Dezactivarea depozitării memoriei nu va afecta în niciun fel performanța sistemului. Când utilizați computerul, sistemul nu accesează depozitul, indiferent dacă este pornit sau nu. Înregistrarea are loc numai atunci când Windows este „adus” la BSOD (ecran albastru). Durează cel mult câteva secunde.

Tipuri de gunoi

Pentru dezvoltarea generală, să ne familiarizăm cu tipurile de gunoi. Sunt trei dintre ele: haldă mică, haldă de miez și mare. O groapă mică stochează cele mai importante informații despre problemă. Dezvoltatorii trebuie să le pună laolaltă puțin câte puțin. Pentru un mic dump, trebuie să alocați 2 MB de memorie virtuală (fișier de schimb).

Halda de miez– cel mai comun tip de gunoi. Această opțiune este de obicei implicită. Înregistrează toată memoria care este alocată nucleului - starea driverelor de lucru și datele la nivel dependent de hardware. Pentru aceasta trebuie să alocați aproximativ 30% din cantitatea totală de memorie RAM. De exemplu, dacă aveți 2 GB DDR, atunci alocați aproximativ 700 MB pentru fișierul de swap.

Un dump complet înregistrează întregul conținut al memoriei RAM. În consecință, pentru ca acesta să funcționeze, va trebui să alocați fișierului de paginare același volum ca RAM. Avem nevoie de un dump complet pentru modul de hibernare, când toate datele din RAM sunt încărcate pe hard disk.

În Windows 7, parametrii de descărcare sunt ascunși destul de profund. Intră în bara de căutare din meniu „ Început"cuvant" sistem", De exemplu.

Selectați rezultatul " Sistem" Se va deschide o fereastră. Există o listă de opțiuni în dreapta sus, selectați ultima - „ Setări avansate de sistem».


Una dintre cele mai frecvente defecțiuni Windows este excepțiile de sistem, pe care utilizatorul le vede sub forma unui „ecran albastru al morții” (BSOD). De regulă, această eroare fatală apare fie din cauza unei defecțiuni a driverelor, hardware (de obicei la încărcarea sistemului de operare), fie din cauza acțiunii virușilor și antivirusurilor.

Ecranul albastru al morții conține informații despre motivele care au cauzat excepția (sub forma unui cod de eroare STOP de forma 0x0000007b), adrese de memorie care au fost accesate atunci când a avut loc o excepție și alte informații utile. O astfel de informație se numește eroare STOP, ai cărei parametri variabili sunt exact adrese de memorie. Uneori conține și numele fișierului care a cauzat excepția.

Toate aceste informații nu sunt afișate pe ecran mult timp (până la 100 de secunde), după care computerul se repornește. În acest timp scurt, un dump de memorie este de obicei generat și scris într-un fișier. Una dintre metodele profesionale importante pentru diagnosticarea defecțiunilor este analiza memoriei dump, care va fi discutată în detaliu în acest articol.

Ce este o groapă

  • dump (engleză) – garbage hap; gunoi; gaură; mahala.
  • dump (memory dump) – 1) dump, care scoate conținutul RAM pentru imprimare sau ecran; 2) un „instantaneu” al memoriei RAM; datele obținute ca urmare a dumpingului; 3) îndepărtare de urgență, oprire, resetare.
  • dumping – dumping, dump removal.

Setările pentru salvarea unei imagini de memorie sunt stocate în registrul de sistem Windows.

Informații despre descărcarea memoriei în Registrul sistemului:

În secțiunea Registry Windows, un dump de blocare este definit de următorii parametri:

– Parametrul REG_DWORD AutoReboot cu valoarea 0×1 (opțiunea Automatically reboot fereastra auxiliară Boot and Restore a casetei de dialog System Properties);

– Parametrul REG_DWORD CrashDumpEnabled cu o valoare de 0×0, dacă nu este creat un dump de memorie; 0×1 – descărcare completă a memoriei; 0×2 – Dump memorie kernel; 0x3 – Memorie mică (64KB);

– Parametru REG_EXPAND_SZ DumpFile cu valoarea implicită %SystemRoot%\MEMORY.DMP (locația de stocare a fișierului dump);

– Parametrul REG_DWORD LogEvent cu o valoare implicită de 0×1 (opțiunea Log event în jurnalul de sistem al ferestrei Boot and Recovery);

– Parametru REG_EXPAND_SZ MinidumpDir cu valoarea implicită %SystemRoot%\Minidump (opțiunea folder dump mic a ferestrei Boot and Recovery);

– Parametrul REG_DWORD Overwrite cu o valoare implicită de 0×1 (opțiunea Overscrire fișier dump existent al ferestrei Boot and Restore);

– Parametrul REG_DWORD SendAlert cu o valoare implicită de 0x1 (opțiunea Trimitere alertă administrativă a ferestrei Boot and Recovery).

Cum creează sistemul un fișier de descărcare în caz de accident

În timpul pornirii, sistemul de operare verifică setările de descărcare prin blocare din cheia de registry. Dacă este specificat cel puțin un parametru, sistemul generează o hartă a blocurilor de disc ocupate de fișierul de paginare pe volumul de pornire și o stochează în memorie. Sistemul determină, de asemenea, ce driver de dispozitiv de disc controlează volumul de pornire, calculează sumele de verificare pentru imaginea de memorie a driverului și pentru structurile de date care trebuie să fie întregi pentru ca driverul să efectueze operațiuni I/O.

După o eroare, nucleul sistemului verifică integritatea hărții fișierului de pagină, a driverului de disc și a structurilor de control ale driverului de disc. Dacă integritatea acestor structuri nu este încălcată, atunci nucleul sistemului apelează funcții speciale I/O ale driverului de disc, concepute pentru a salva o imagine de memorie după o defecțiune a sistemului. Aceste funcții de I/O sunt autonome și nu se bazează pe serviciile kernelului, deoarece programele responsabile cu scrierea blocului de descărcare nu pot face nicio presupunere cu privire la care părți ale nucleului de sistem sau driverele de dispozitiv au fost deteriorate atunci când a avut loc un accident. Nucleul de sistem scrie date din memorie pe harta sectorului fișierelor de paginare (nu trebuie să folosească drivere de sistem de fișiere).

În primul rând, nucleul sistemului verifică starea fiecărei componente implicate în procesul de descărcare. Acest lucru se face astfel încât, atunci când scrieți direct pe sectoarele de disc, să nu deterioreze datele aflate în afara fișierului de pagină. Dimensiunea fișierului de pagină ar trebui să fie cu 1 MB mai mare decât dimensiunea memoriei fizice, deoarece atunci când informațiile sunt scrise în dump, este creat un antet care conține semnătura crash dump și valorile mai multor variabile critice ale nucleului de sistem. Antetul este mai mic de 1MB, dar sistemul de operare poate crește (sau micșora) dimensiunea fișierului de pagină cu cel puțin 1MB.

După pornirea sistemului, Session Manager (Windows NT Session Manager; adresa discului - \WINDOWS\system32\smss.exe) inițializează fișierele de pagină de sistem, folosind propria funcție NtCreatePagingFile pentru a crea fiecare fișier. NtCreatePagingFile determină dacă fișierul de pagină care este inițializat există și, dacă da, dacă are un antet dump. Dacă există un antet, atunci NtCreatePagingFile trimite un cod special către Managerul de sesiune. Managerul de sesiune pornește apoi procesul Winlogon (Programul de conectare Windows NT; adresa discului este \WINDOWS\system32\winlogon.exe), care este notificat despre existența unui dump de blocare. Winlogon rulează programul SaveDump (Windows NT Memory Copy Program; adresa disc - \WINDOWS\system32\savedump.exe), care analizează antetul de descărcare și determină acțiuni ulterioare într-o situație de urgență.

Dacă antetul indică existența unui dump, atunci SaveDump copiază datele din fișierul de pagină în fișierul crash dump, al cărui nume este specificat de parametrul REG_EXPAND_SZ al secțiunii DumpFile din Registry. În timp ce SaveDump rescrie fișierul dump, sistemul de operare nu folosește partea din fișierul de pagină care conține dump-ul de blocare. În acest timp, cantitatea de memorie virtuală disponibilă pentru sistem și aplicații este redusă de dimensiunea depozitului (și pot apărea mesaje pe ecran care indică faptul că memoria virtuală este scăzută). SaveDump informează apoi managerul de memorie că dump-ul a finalizat salvarea și eliberează partea din fișierul de pagină în care dump-ul este stocat pentru uz general.

După salvarea fișierului dump, programul SaveDump înregistrează crearea unui dump de blocare în jurnalul de evenimente de sistem, de exemplu: „Computerul a fost repornit după o eroare critică: 0x100000d1 (0xc84d90a6, 0x00000010, 0x00000000, 0x00000000, 0x6c84). Copie din memorie salvată: C:\WINDOWS\Minidump\Mini060309-01.dmp".

Dacă opțiunea Trimitere alertă administrativă este activată, SaveDump trimite o alertă administratorului.

Tipuri de halde

  • Memorie completă scrie întregul conținut al memoriei sistemului atunci când apare o eroare fatală. Pentru această opțiune, trebuie să aveți un fișier de paginare pe volumul de pornire, a cărui dimensiune este egală cu cantitatea întregii RAM fizice plus 1MB. În mod implicit, în fișierul %SystemRoot%\Memory.dmp este scrisă o descărcare completă a memoriei. Când apare o nouă eroare și este creat un nou fișier de descărcare a memoriei complete (sau de descărcare a memoriei nucleului), fișierul anterior este înlocuit (suprascris). Opțiunea de descărcare completă a memoriei nu este disponibilă pe computerele care au un sistem de operare pe 32 de biți și 2 gigaocteți sau mai mult RAM.

Când apare o nouă eroare și este creat un nou fișier dump cu memorie completă, fișierul anterior este înlocuit.

  • Dump memorie kernel scrie doar memoria kernelului, ceea ce face ca procesul de scriere a datelor în jurnal atunci când sistemul se oprește brusc să continue mai rapid. În funcție de cantitatea de memorie fizică a computerului, în acest caz fișierul de paginare necesită de la 50 la 800 MB sau o treime din memoria fizică a computerului pe volumul de pornire. În mod implicit, descărcarea memoriei kernel este scrisă în fișierul %SystemRoot%\Memory.dmp.

Această descărcare nu include memoria nealocată sau memoria alocată programelor în modul utilizator. Include doar memoria alocată nucleului și stratului dependent de hardware (HAL) în Windows 2000 și versiunile ulterioare ale sistemului, precum și memoria alocată driverelor în modul kernel și altor programe în modul kernel. În cele mai multe cazuri, o astfel de descărcare este cea mai preferată opțiune. Ocupă mult mai puțin spațiu decât o descărcare completă a memoriei, excluzând în același timp doar acele sectoare de memorie care cel mai probabil nu sunt legate de eroare.
Când apare o nouă eroare și se creează un nou fișier de descărcare a memoriei kernelului, fișierul anterior este înlocuit.

  • Mic depozit de memorieînregistrează cea mai mică cantitate de informații utile necesare pentru a determina cauza problemei. Pentru a crea un dump mic de memorie, dimensiunea fișierului de pagină trebuie să fie de cel puțin 2MB pe volumul de pornire.

Fișierele mici de descărcare a memoriei conțin următoarele informații:

  • Mesaj de eroare fatală, parametrii săi și alte date;
  • lista de drivere încărcate;
  • contextul procesorului (PRCB) în care s-a produs defecțiunea;
  • informațiile despre proces și contextul nucleului (EPROCESS) pentru procesul care a cauzat eroarea;
  • informațiile de proces și contextul kernelului (ETHREAD) pentru firul care a cauzat eroarea;
  • Stiva de apeluri în modul kernel pentru firul care a cauzat eroarea.

Micul fișier de descărcare a memoriei este utilizat atunci când spațiul pe hard disk este limitat. Cu toate acestea, din cauza informațiilor limitate pe care le conține, este posibil ca analiza acestui fișier să nu detecteze întotdeauna erori care nu au fost cauzate direct de firul care rula atunci când a apărut eroarea.

Când apare următoarea eroare și este creat un al doilea fișier mic de memorie, fișierul anterior este salvat. Fiecare fișier suplimentar primește un nume unic. Data este codificată în numele fișierului. De exemplu, Mini051509-01.dmp este primul fișier de descărcare a memoriei creat pe 15 mai 2009. O listă cu toate fișierele mici de descărcare a memoriei este stocată în folder. %SystemRoot%\Minidump.

Sistemul de operare Windows XP este, fără îndoială, mult mai fiabil decât versiunile anterioare, datorită eforturilor atât dezvoltatorilor Microsoft, dezvoltatorilor de drivere hardware, cât și dezvoltatorilor de aplicații software. Cu toate acestea, situațiile de urgență - tot felul de defecțiuni și blocări ale sistemului - sunt inevitabile, iar dacă utilizatorul de PC are cunoștințele și abilitățile necesare pentru a le elimina depinde dacă va trebui să petreacă câteva minute pentru depanarea (de exemplu, actualizarea/depanarea unui driver). sau reinstalarea unei aplicații care provoacă o blocare a sistemului) - sau câteva ore pentru a reinstala/configura sistemul de operare și software-ul aplicației (ceea ce nu garantează absența erorilor și a blocărilor în viitor!).

Mulți administratori de sistem încă neglijează să analizeze depozitele de blocare Windows, considerând că lucrul cu acestea este prea dificil. Este dificil, dar este posibil: chiar dacă, de exemplu, analiza unei gropi din zece se dovedește a fi de succes, eforturile depuse pentru a stăpâni cele mai simple tehnici de analiză a depozitelor de accident nu vor fi în zadar!...

Voi da exemple din practica mea „sysadmin”.

În rețeaua locală, fără niciun motiv aparent („hardware-ul este în regulă, absența virușilor este garantată, utilizatorii au „mâini normale”), mai multe stații de lucru cu Windows XP SP1/SP2 „la bord” au căzut. Nu a fost posibil să porniți computerele în modul normal - a ajuns la „Salutări” - și a durat o veșnicie pentru a reporni. În același timp, PC-urile au pornit în Safe Mode.

Studierea depozitelor de memorie a făcut posibilă identificarea cauzei defecțiunii: vinovatul s-a dovedit a fi Kaspersky Anti-Virus, mai precis, baze de date antivirus proaspete (mai precis, două module de baze de date - base372c.avc, base032c.avc) .

...A mai fost un astfel de caz. Pe un PC local care rulează Windows XP SP3, a avut loc o repornire când încercam să deschideți fișiere video în formatele .avi și .mpeg. Studierea depozitului de memorie ne-a permis să identificăm cauza problemei - fișierul nv4_disp.dll al driverului plăcii video NVIDIA GeForce 6600 După actualizarea driverului, problema a fost eliminată. În general, driverul nv4_disp.dll este unul dintre cele mai instabile drivere, ceea ce a dus adesea la BSOD.

În ambele cazuri, studierea depozitului de memorie de blocare a făcut posibilă reducerea la minimum a timpului de diagnosticare și eliminarea defecțiunii (câteva minute!).

Analiza de descărcare a memoriei

Există multe programe pentru analiza depozitelor de memorie de blocare, de exemplu, DumpChk, Kanalyze, WinDbg.

Să ne uităm la analizarea depozitelor de memorie de blocare folosind programul WinDbg (parte a Instrumentelor de depanare pentru Windows).

Instalarea instrumentelor de depanare

  • vizitați site-ul Web al Microsoft Corporation http://www.microsoft.com/whdc/devtools/debugging/default.mspx;
  • descărcați Instrumente de depanare pentru Windows, de exemplu, pentru o versiune de Windows pe 32 de biți, acest lucru se poate face pe pagina Descărcați instrumentele de depanare pentru Windows;
  • după descărcare, rulați fișierul de instalare;
  • în fereastra Instrumente de depanare pentru Windows Setup Wizard, faceți clic pe Următorul;
  • în fereastra cu acordul de licență, selectați comutatorul Sunt de acord –> Următorul;
  • în fereastra următoare, selectați tipul de instalare (în mod implicit, instrumentele de depanare sunt instalate în folderul \Program Files\Debugging Tools pentru Windows) –> Next –> Install –> Finish;
  • Pentru a interpreta fișierele de descărcare a memoriei, trebuie să descărcați și pachetele de simboluri pentru versiunea dvs. de Windows - accesați pagina Descărcare pachete de simboluri Windows;
  • selectați versiunea dvs. de Windows, descărcați și rulați fișierul de instalare Symbol Packages;
  • în fereastra cu acordul de licență, faceți clic pe Da;
  • în fereastra următoare, selectați folderul de instalare (implicit este \WINDOWS\Symbols) –> OK –> Da;
  • În fereastra Simboluri Microsoft Windows cu mesajul „Instalarea este finalizată”, faceți clic pe OK.

Utilizarea WinDbg pentru a analiza depozitele de blocare

  • rulați WinDbg (instalat implicit în folderul \Program Files\Debugging Tools pentru Windows);
  • selectați meniul Fișier –> Cale fișier simbol…;
  • în fereastra Cale de căutare simbol, faceți clic pe butonul Răsfoire...;
  • în fereastra Browse Folder, specificați locația folderului Simboluri (implicit – \WINDOWS\Symbols) –> OK –> OK;
  • selectați meniul File –> Open Crash Dump… (sau apăsați Ctrl + D);
  • în fereastra Open Crash Dump, specificați locația fișierului Crash Dump (*.dmp) –> Open;
  • în fereastra Spațiu de lucru cu întrebarea „Salvați informații pentru spațiul de lucru?”, bifați caseta Nu mai întrebați –> Fără;
  • Fereastra Command Dump se va deschide în fereastra WinDbg<путь_и_имя_файла_дампа>cu analiză de gunoi;
  • revizuirea analizei memoriei dump;
  • în secțiunea „Bugcheck Analysis” va fi indicată cauza posibilă a accidentului, de exemplu, „Probabil cauzată de: smwdm.sys (smwdm+454d5)”;
  • pentru a vedea informații detaliate, faceți clic pe linkul „!analyze -v” din linia „Utilizați !analyze -v pentru a obține informații detaliate de depanare”;
  • închide WinDbg;
  • Utilizați informațiile obținute pentru a elimina cauza problemei.

De exemplu, în următoarea captură de ecran, cauza defecțiunii este fișierul nv4_disp.dll al driverului plăcii video.

Uneori, chiar și cea mai mică ajustare în optimizarea sistemului Windows XP poate avea un efect benefic asupra funcționării întregului sistem. Această optimizare este deosebit de valoroasă după ce ați primit prima dată un „marca neagră” - BSOD (Ecranul albastru al morții). Ce se întâmplă când apare Ecranul Albastru al Morții? Pe monitor curg niște „cuvinte nebune” ciudate, al căror sens nu este clar chiar și pentru utilizatorii experimentați. În acest moment este creat un „MEMORY DUMP”, un sfat foarte bun pentru optimizarea Windows XP.

Ce este un dump de memorie și cum se închide?

O descărcare de memorie este o înregistrare a memoriei RAM a computerului dvs. pe hard disk. Conținutul acestui fișier poate prezenta orice interes doar pentru o castă specială de utilizatori - programatori. Dar pentru un „manichin”, un astfel de fișier nu prezintă absolut niciun interes, ceea ce înseamnă că pur și simplu nu este necesar. Prin urmare, funcția de descărcare a memoriei poate fi dezactivată cu conștiința curată. Apropo, în acest fel îți vei elibera hard disk-ul de înregistrări inutile și vei reduce timpul de încărcare. Să trecem la algoritmul pentru închiderea unui dump de memorie. Aşa!

Efectuăm următorii pași:

  1. Faceți clic pe butonul „Start” (nu pornirea computerului, ci butonul virtual situat în partea stângă jos a ecranului);
  2. Faceți clic DREAPTA pe „Computerul meu” și selectați „Proprietăți” în fereastra care se deschide;
  3. Se va deschide fila „Proprietăți sistem”, unde ne interesează secțiunea „Avansat”;
  4. în această secțiune, selectați elementul cel mai de jos „Descărcare și recuperare” și faceți clic pe cuvântul „Opțiuni”;
  5. Se va deschide o secțiune numită „Descărcare și recuperare”. Căutăm și selectăm elementul „Înregistrează informații de depanare” (este evidențiat cu albastru) și selectăm „Absent” din lista derulantă;
  6. Faceți clic pe „OK”.

Scurt și clar. Chiar dacă încă nu înțelegi pe deplin totul, nu contează: înțelegerea vine cu timpul și cu experiența. Și astăzi ați făcut primul pas mic în stăpânirea principiilor mai profunde ale sistemului informatic. Și să le pară unii prea simplă această lecție, dar toți cei care se consideră acum utilizatori mai mult sau mai puțin avansați au început de la zero.