2016-03-16 21 views
6

Istnieje doskonały przycisk Start Profiling w portalu SCM, który działa idealnie na procesor.Jak wyleczyć wycieki pamięci aplikacji sieci Web Azure?

enter image description here

Wtedy istnieje kilka źródeł, które odnoszą się do przycisku Download GC Dump: https://stackoverflow.com/a/27987593/647845

Ale to nie wydaje się być już dostępne.

Następnie jest przycisk Download memory dump. Ale na razie nie mogę dowiedzieć się, jak/jeśli mogę zobaczyć dane statystyczne na temat typu/Refcount/Size, że jestem również używany.

Jaki jest zalecany sposób wyszukiwania wycieków pamięci w aplikacji sieci Web C# Azure?

Odpowiedz

7

Spróbuj użyć konsoli Kudu. Przejdź do https://[sitename].scm.azurewebsites.net/support Kliknij opcję Analiza -> Dignostics -> Ustawienia. Upewnij się, że zrzuty pamięci są sprawdzane A następnie kliknij Dignose Now. To będzie działać tylko w planie podstawowym i powyżej (niedostępne za darmo) Po pewnym czasie otrzymasz zrzut enter image description here Otwórz pobrany plik za pomocą Visual Studio i wybierz "Debuguj zarządzaną pamięć". Możesz wtedy zobaczyć szczegóły. enter image description here

+0

Witam @GhandaliSamant, dziękuję za odpowiedź. Kiedy to zrobię, otrzymuję "Nieobsługiwany wyjątek 0x0000000000000000 w w3wp_39104_8a58_2016-03-16_14-23-22-814_98c0.dmp: 0x80000007: Operacja przerwana." Czy jest jakiś pomysł? –

+0

Pozwól mi spróbować i wrócić. Tak się nie stało ze mną. Na jakim etapie pojawił się ten błąd? –

-1

Zdalne profilowanie aplikacji sieci Web Azure z Visual Studio to prawdopodobnie najlepsza opcja.

https://azure.microsoft.com/en-us/blog/remote-profiling-support-in-azure-app-service/

+0

Cześć Chris, dziękuję za odpowiedź. Ta funkcja działa świetnie na procesor, ale pamięć nie jest jeszcze obsługiwana. Zobacz także komentarz Hadmi Safa 'Nie, profile CPU są obecnie obsługiwane. –

+0

Działa tylko dla procesora. Pamięć nie jest obsługiwana – alessalessio

0

Możesz pobrać zrzut pamięci przy użyciu Kudu konsoli i użyć DebugDiag aby go profilu, można mieć więcej niż jeden zrzut pamięci, jeden przed przeciek nastąpi, jeden w jego trakcie i jedna po, później można porównać i zobaczyć które obiekty powiększają się i nie ulegają rozładowaniu.

Powiązane problemy