Thursday, January 10th, 2008...11:36 pm

Vista, Wi-Fi, problem z wydajnoÅ›ciÄ… … i rozwiÄ…zanie

Jump to Comments

JakiÅ› czas temu zaczęły mojÄ… Viste mÄ™czyć “maÅ‚e” problemy z wydajnoÅ›ciÄ…. Procesor zaraz po starcie obciążony byÅ‚ caÅ‚y czas na 100% a zużycie pamiÄ™ci nieuchronnie zmierzaÅ‚o do 100% i koÅ„czyÅ‚o siÄ™ to wszystko maÅ‚o przyjemnie. Tak wiem … Vista tak ma … znaczy tak siÄ™ powszechnie uważa. No cóż … do mnie to jako nie przemawiaÅ‚o, a że nie lubiÄ™ przeinstalowywać systemu bez powodu to postanowiÅ‚em problem trochÄ™ przebadać. Z niejakim sukcesem … a że pytania o rozwiÄ…zanie tego typu problemów pojawiajÄ… sie tutaj i ówdzie (czytaj grupy i fora) to postanowiÅ‚em pokrótce proces ten tutaj udokumentować.

Scenariusz jaki mogÅ‚em zaobserwować jest typowym scenariuszem w przypadku “wycieku pamiÄ™ci” (memory leak). Najczęściej spowodowany jest on problemem z usÅ‚ugÄ… lub sterownikiem, który alokuje pamięć ale jej nie zwalnia. Skutkiem czego po pewnym czasie po prostu tej pamiÄ™ci brakuje w systemie.

Pierwszym krokiem byÅ‚o spojrzenie na stan systemu przy pomocy Task Managera (dlaczego – bo pod rÄ™kÄ…). Po wÅ‚Ä…czeniu “kernel time” od razu byÅ‚o widać, że procesor zajÄ™ty jest przez obsÅ‚ugÄ™ jakiegoÅ› urzÄ…dzenia. DokÅ‚adniejsze przyjrzenie siÄ™ stanowi systemu przy pomocy Process Explorer pokazaÅ‚o, że zarówno zasoby procesora jak i pamięć zjadane sÄ… przez proces systemowy – w którym gro czasu zajmujÄ… wywoÅ‚ania w ramach ntkrnlpa.exe. Gdybym byÅ‚ Markiem Russinovichem to pewnie już bym wisiaÅ‚ na debuggerze .. ale ja prosty inżynier systemowy jestem wiÄ™c użyÅ‚em prostszych metod czyli poolmon.exe.

Poolmon.exe jest to przydatne narzÄ™dzie, które pozwala diagnozować problemy zwiÄ…zane z pamiÄ™ciÄ… w przypadku procesów dzialajÄ…cych w trybie jÄ…dra. W dużym skrócie pozwala on na zrzut danych o użyciu pamiÄ™ci przez poszczególne procesy w obszarze pamiÄ™ci paged i non-paged. Zrzut danych w pewnych odstÄ™pach czasu pozwala wykryć proces, który powiÄ™ksza swój obszar pamiÄ™ci – czyli jest podejrzany o spowodowanie memory leak.

W ten sposób szybko ustaliÅ‚em winnego czyli proces o tagu NDPP. UżywajÄ…c findstr szybko ustaliÅ‚em, że jest to sterownik NDIS.SYS …. i tutaj maÅ‚y probem. Wiadomo już gdzie piszczy – ale dokÅ‚adniej … w systemie mam kilka różnych urzÄ…dzeÅ„ sieciowych.  Przyznam siÄ™, że poszedÅ‚em tutaj drogÄ… na skróty i po prostu wyÅ‚Ä…czaÅ‚em po kolei poszczególne urzÄ…dzenia aż do ustÄ…pienia problemu. PadÅ‚o na kartÄ™ WiFi – prawda, że skomplikowany proces dojÅ›cia do jednego z bardziej prawdopodobnych rozwiÄ…zaÅ„ :)? Szybko sprawdziÅ‚em swojÄ… wersje sterowników dla Intel 3945ABG i okazaÅ‚o siÄ™, że w wersji dla Vista istnieje problem z memory leak – uaktualnienie do najnowszej wersji i problem zniknÄ…Å‚ … no powiedzmy, że prawie zniknÄ…Å‚.

Od czasu do czasu jednak sytuacja się powatarzała jednak z dużo mniejszą częstotliwością. Tym razem jednak w Process Explorer pokazywał, że problem z wydajnością powoduje wywołanie jednej z metod w module NDIS.SYS.

IdÄ…c drogÄ… “prawdziwego inżyniera systemowego” wpisaÅ‚em w wyszukiwarkÄ™ odpowiednie zapytanie i po przejrzeniu kilku blogów znalazÅ‚em rozwiÄ…zanie.
W systemach, w których zainstalowany jest Network Monitor 3.1 należy w przypadku takich problemów odłączyć sterwonik NM od karty sieciowej. Problemy znikają jak ręką odjął :). Niestety samego rozwiązania dla NM 3.1 nie znalazłem :(.

I tak system wróciÅ‚ do normalnej pracy, memory leak siÄ™ nie zdarza … i wcale nie trzeba byÅ‚o instalować systemu od nowa. Może ten opis komuÅ› pomoże uniknąć koniecznoÅ›ci reinstalacji w podobnych sytuacjach.

4 Comments

  • Witam w nowym roku,
    z ciekawości zapytam, jakiego klaptopa używasz?

    Sam przesiadÅ‚em siÄ™ ostatnio z maÅ‚ego (14,4) HP na troszkÄ™ wiÄ™ksze VAIO (15’4) i ciężko mi siÄ™ przyzwyczaić. VAIO niby z lepsza grafika (reszta ta sama) ale jakiÅ› taki . duży. 🙂

    Pozdro

  • Uzywam Toshiba Tecra M5 – nie polecam 🙂

  • bÄ™dziesz miaÅ‚ pewnie ten sam problem z ewentualna przesiadka na 15\’4 🙂

  • Nie planuje narazie 🙂

Leave a Reply