2012-10-01 21 views
8

Mam hosting 7 witryn na jednym serwerze produkcyjnym (wirtualnym) na 2,53 GHz (2 procesory) i 8 GB pamięci RAM na serwerze WIN SERVER 2008 R2 Enterprise 64 Bit.Znajdź wyciek pamięci w aplikacji sieci Web ASP.NET

Serwer sieci Web to IIS 7, a wszystkie witryny mają pulę aplikacji .NET Framework 4.0.

Moje bieżące zużycie pamięci wynosi około 4,16 GB na 8 GB, a w3wp.exe jest najbardziej procesem, który zużywa większość zużycia pamięci (około 1,6 GB w tym czasie), a następnie przez sqlservr.exe z użyciem (1,5 GB).

Chciałbym wiedzieć, która strona na 7 zużywa najwięcej pamięci, aby móc ją obejrzeć.

Próbowałem już Process Explorer i Monitor zasobów, ale może pokazać tylko, ile rem zrobione przez w3wp.exe, ale nie indywidualnego wykorzystania witryny.

Czy istnieje sposób, w jaki mógłbym wskazać porucznika pamięci?

Odpowiedz

2

Możesz skonfigurować każdą witrynę internetową, aby korzystała z innej puli aplikacji, w ten sposób będziesz mieć proces w3wp.exe dla każdej strony internetowej z 7 witryn, które hostujesz. Następnie można użyć tego narzędzia w następujący sposób: this link, aby dowiedzieć się, które witryny powodują wyciek, śledząc identyfikator PID urządzenia w3wp.exe o największym zużyciu pamięci.

20

Można wykonać zrzut pamięci za pomocą narzędzia Microsoft Debug Diag.

podstawowy proces jest:

  • uruchomić DebugDiag
  • Anuluj kreatora
  • wybierz zakładkę "Procesy"
  • Wybierz w3wp
  • prawym przyciskiem myszy i wybierz "Utwórz pełny dump"
  • Snigger cicho do siebie, ponieważ powiedziałeś "dump"
  • Raz zrzutu jest kompletny (ponownie chichocze), kliknij "Advanced Analysis" tabulatora
  • Użyj 2 skryptów analizatora ciśnienia, aby sprawdzić, czy możesz zobaczyć, jakie obiekty używają dużej ilości pamięci.

Radziłbym zrobić to w połączeniu z odpowiedzią Uri May, ponieważ w przeciwnym razie prawdopodobnie stracisz dużo czasu.

0

W menedżerze zadań systemu Windows można sprawdzić, która pula aplikacji działa przy każdym pliku w3wp.exe, po prostu wyświetlając kolumnę "użytkownik". Dzieje się tak dlatego, że każda pula aplikacji działa zazwyczaj z własnym użytkownikiem. Zrobili to nieco trudniej zobaczyć na serwerze Windows 2012 - najpierw musisz kliknąć kartę "szczegóły".