Memory dump w Windows 7

Blue Screen jest dla mnie jednym z najciekawszych trybów pracy systemu. Wiem, ze wielu uzytkowników nie podziela mojego zdania, ale pod tym niebieskim ekranem dzieja sie naprawde interesujace rzeczy.

Jedna z nich jest tworzenie zrzutu pamieci. To nie jest takie proste jak sie moze wydawac, ale z punktu uzytkownika widac przede wszystkim interfejs. A w nim (w oknie Startup and Recovery) jest wybór zawartosci dumpa. Tradycyjnie, opcje sa cztery:

I mimo, ze w nowszych systemach w szczególach cos sie zmienia, to ogólna idea pozostaje taka sama "od zawsze". W Windows 7 pojawia sie jednak drobny problem:

image

Nie ma opcji zrzutu calej pamieci. Moze i slusznie...? Nie wiem. Wiem za to, ze jezeli ktos bardzo chce – moze ja sobie wlaczyc przez rejestr. W galezi HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl jest wartosc CrashDumpEnabled. Tam zapisany jest tryb zrzutu, gdzie:

  • 0 oznacza brak zrzutu,
  • 1 – zrzut pelny,
  • 2 – zrzut jadra,
  • 3 – small dump.

Wystarczy wpisac tam 1 i nie dosc, ze beda sie wykonywac pelne zrzuty, to jeszcze brakujaca opcja pojawi sie w GUI. Tak swoja droga, na komputerach z iloscia pamieci RAM mniejsza niz 2GB opcja ta jest normalnie widoczna. Ot takie ustawienie, zeby "grzebacz" nie wlaczyl sobie mechanizmu wrzucajacego mu na dysk ogromne pliki. Nie wiem, czy lubie jak ktos do tego stopnia mysli za mnie, ale znajac trik z rejestrem, nie mam w tym przypadku wielkiego problemu.

Tak swoja droga, dla niemyslacych, Microsoft przygotowal jeszcze jedna niespodzianke. Jezeli Windows 7 nie jest w domenie i ma mniej niz 25GB wolnego miejsca na dysku – zrzut sie nie wykona. Oczywiscie mozna to sobie w rejestrze wlaczyc (AlwaysKeepMemoryDump=1). Troche wiecej informacji na ten temat mozna znalezc na http://blogs.msdn.com/wer/archive/2009/02/09/kernel-dump-storage-and-clean-up-behavior-in-windows-7.aspx

Autor: Grzegorz Tworek [MVP]