Mam nadzieję, że jest to odpowiednia strona wymiany stosów, na której można publikować ... Nie wydawało mi się, żeby było to pytanie programistyczne dla SO. W każdym razie korzystam z programu Visual Studio 2015 i dostałem powiadomienie do systemu Windows o zamknięciu VS2015, ponieważ brakuje mu pamięci. Mam 24 GB pamięci RAM i właśnie zrestartowałem wczoraj, więc myślę, że coś jest nie tak. Czasami używam interaktywnego okna C # i interaktywnego okna Pythona 2.7, ale te nie były używane w momencie tej wiadomości.
Uwaga: pisząc to, właśnie otrzymałem komunikat „Nieznana twarda awaria” z devenv.exe (proces vs2015). Ale usługa Standard Collector nadal działa z wykorzystaniem 10,7 GB.
Czy ktoś wie, czym jest Standard Collector? A co może spowodować gwałtowne zwiększenie zużycia pamięci RAM?
Uwaga: Ponownie, gdy piszę, zauważyłem, że Standardowa Usługa Kolektora zatrzymała się w menedżerze zadań i odzyskałem całą pamięć RAM.
Aktualizacja: Wygląda na to, że może to być błąd, który zespół VS próbował naprawić w aktualizacji 1. Zdecydowanie mam zainstalowaną aktualizację 1, ale być może powinienem spróbować odtworzyć jakiś przykładowy kod i wysłać go do zespołu VS. Instancja devenv, która uległa awarii, również nie była obecnie debugowana. (Istnieje jednak inna instancja, w której debuguje, co widać po rozszerzeniu .vshost.exe w menedżerze zadań)
Ta instancja devenv nie uległa awarii i nadal działa bez problemu w debuggerze.
źródło
Odpowiedzi:
Proces kolektora wydaje się być związany z oprzyrządowaniem / diagnostyką kodu działającego w trybie debugowania w Visual Studio 2015. Microsoft przyznał, że istnieje problem z nieograniczonym wykorzystaniem pamięci przez ten proces i mówi: „Zbadaliśmy pierwotną przyczynę i wprowadzono poprawkę, która będzie dostępna w aktualizacji VS2015 Update 1 ”
Upewnij się więc, że otrzymujesz najnowszą aktualizację programu Visual Studio 2015. Tymczasem w celu złagodzenia:
„Tymczasem, jeśli zauważysz, że proces zużywa zbyt dużo pamięci, masz dwa sposoby na odzyskanie. Najprostszym jest po prostu zrestartowanie komputera. To wszystko przywróci nowy stan. Inną rzeczą, którą możesz zrobić, aby zmniejszyć zużycie pamięci, jest aby zatrzymać usługę Visual Studio Standard Collector Service przy użyciu interfejsu użytkownika Service Manager. Nazwa usługi to „VSStandardCollectorService140”. Można ją bezpiecznie zatrzymać, gdy nie debugujesz za pomocą Visual Studio. Jeśli zatrzymasz usługę podczas debugowania (nawet zatrzymany w punkcie przerwania ), a następnie okno Narzędzia diagnostyczne wyświetli komunikat o błędzie po wznowieniu docelowego procesu debugowania. ”
Spójrz na ten link, z którego pochodzą powyższe cytaty: https://connect.microsoft.com/VisualStudio/feedback/details/1630071/visual-studio-standard-collector-unbounded-memory-usage
Ten link zawiera także przykładowy kod osoby, która doświadczyła tego z aplikacji konsoli. Warto uruchomić ten przykładowy kod, aby sprawdzić, czy powoduje on problem w systemie. Osoba, która zgłosiła problem, wskazała również, że występował sporadycznie, ale uruchamianie kodu w trybie debugowania programu Visual Studio wydawało się być jednym wspólnym wątkiem.
Być może Microsoft naprawił niektóre podstawowe przyczyny tego problemu, ale nadal pojawiają się inne nieusunięte przyczyny.
źródło
Narzędzia-> Opcje-> Debugowanie-> Ogólne, wyłącz „Włącz narzędzia diagnostyczne podczas debugowania”.
źródło