Windows Troubleshooting 102: Veri Toplama

Problemi anladiktan sonra dogru zamanda dogru veriyi toplamak sorunun teknik anlasilmasini saglar. Sunucunun hep donmasi örneginde, buna muhtemelen ya bir kaynak tükenmesi, ya da hatali kod yüzünden belli detayli senaryolar olustugunda meydana gelen bir tarz kilitlenme neden oluyordur. Buradaki varsayimin kilit varsayimi, sunucunun donduktan sonra kendisini yine toparlayamamasidir. Durum kendiliginden düzeliyorsa farkli yaklasimlar gerekebilir.

Burada en mantikli yaklasim bir performans monitör logu baslatmak ve sorun tekrarladiginda bellek dumpi olusturmak.

Bir sunucuyu mavi ekrana düsürmenin en kolay yolu keyboard üzerindendir. Bu sadece direk fiziki konsolda çalisir, RDP üzerinden çalismaz. Sanal makineyse, Hyper-V manager dan VM e baglandiktan sonra mavi ekrana düsürmek için ayni tus kombinasyonunu gönderebiliriz.

Burada bir hazirlik yapmak gerekir:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\i8042prt\Parameters altinda
Ve
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\kbdhid\Parameters altinda CrashOnCtrlScroll isimli REG_DWORD degerini yaratiriz ve 1 e set ederiz.
Takiben reboot etmemiz gerekir.

Reboot dan sonra en sag CTRL tusunu basili tutup, SCROLL LOCK tusuna iki defa tikladigimizda sunucu mavi ekrana düser.

Burada ilk reg lokasyonu PS2 keyboard lar için, ikincisi USB keyboard içindir. Bence ama her ihtimale karsi ikisini yapabilirsiniz.

Mavi ekranda, default ayarlarda, 100 e kadar sayar ve reboot eder. Default da dump dosyasi sonra C:\Windows\memory.dmp olarak kaydedilir. Default da bu bir kernel bellegin dump dir.

Bu komut ile performans monitör logunu olusturabiliriz:
logman.exe create counter Perf-Counter-Log -v mmddhhmm -max 300 -c "\LogicalDisk(*)\*" "\Memory\*" "\Network Interface(*)\*" "\Paging File(*)\*" "\PhysicalDisk(*)\*" "\Process(*)\*" "\Processor(*)\*" "\Redirector\*" "\Server\*" "\System\*" -si 00:05:00

Bu örnekte her 300MB da yeni bir log dosyasi baslatilacak ve her 5 dakikada bir counterlarin snapshotu alinacak. Seçili counterlari görebilirsiniz.

Bu komut ile baslatabilirsiniz:
logman start Perf-Counter-Log

Reboot dan sonra log otomatikman hep baslar. Servis ile çalistigi için log off olabilirsiniz. Loglar C:\Perflogs\Admin altinda bulunabilir.

Özet olarak:
- keyboard ile dumplayabilmek için registry ayarlari yapiyoruz ve reboot ediyoruz
- perfmon logunu baslatiyoruz
- sorunun tekrarlamasini bekliyoruz ve sorun aninda (daha önce veya rebootdan sonra degil) mavi ekrani baslatiyoruz
- makine kendiliginden reboot olduktan sonra perfmonu durduruyoruz: logman stop Perf-Counter-Log

Simdi sorunu anlayabilmek için hersey elimizdedir.

Basar Güner
Sr. Support Engineer, Microsoft