Komunikat VS2015 Update 2: „Wykryto mało pamięci. Pełna analiza rozwiązania wyłączona dla tego rozwiązania. ”

83

Właśnie zaktualizowałem Visual Studio 2015 aktualizacją Update 2.

Teraz, po kilku godzinach bezproblemowej pracy, otrzymałem: „Wykryto mało pamięci. Pełna analiza rozwiązania wyłączona dla tego rozwiązania”. który pojawia się na górze mojego panelu dokowania edytora VS2015.

Widziałem, że błąd został zgłoszony w Microsoft Connect .

Uwagi:

  • Używam Resharper.
  • Moje rozwiązanie jest całkiem spore, zawiera ~ 32 projekty.

Jeśli ktoś ma obejście lub wskazówkę, co zrobić, aby go rozwiązać, daj mi znać.

Aktualizacja: Mam prawie takie same odczucia jak Anders Forsgren (pierwszy komentarz). To wydaje mi się dobre podsumowanie sytuacji.

Aktualizacja 2 (2016-04-20) Niedawno (3 dni temu) dokonałem dużego czyszczenia zainstalowanych pakietów Framework.Net (z sekcji „Programy i funkcje”), w których usunąłem około 20-30 pakietów. Niektóre były po rosyjsku. Ponownie zainstalowałem również Visual Studio i ReSharper. Wydaje się, że wszystko to dodaje pewnej stabilności mojemu środowisku (mniej lub więcej zawieszeń -> czas pokaże). Niedawno pojawiła się również nowa (19.04.2016) .NET Framework Repair Tool Version . Być może pomogłoby to rozwiązać niektóre z naszych problemów, jeśli są związane?

Zaktualizuj 3 Po kilku testach i przeczytaj tekst niektórych ludzi. Wygląda na to, że nie jest to związane z samym frameworkiem .Net ani z Resharper. Wydaje się, że jest to związane z samym VS2015, prawdopodobnie Roslyn. Nie udało mi się usunąć Roslyn / CodeAnalysis z VS2015, wydaje się, że jest to istotna część. Wygląda na to, że będziemy musieli poczekać, aż poprawka firmy Microsoft będzie miała stabilne środowisko.

Aktualizacja 4 (26.04.2016) Zobacz odpowiedź Johna Atwooda. Wiele informacji. Właśnie zacząłem testować jego odpowiedź. Aktualizacja 3 powinna rozwiązać ten problem (jeśli jest dostępna ???).

Aktualizacja 5 (2016-04-26 + 6 godzin) Po 1 restarcie wykonanym przez VS, jednej niewiarygodnej powolności i jednym komunikacie „Mała ilość pamięci ...”, mogłem potwierdzić, że wyłączenie analizy pełnego rozwiązania nie rozwiązuje problemu, na najmniej na mojej maszynie. Obecnie nie znam żadnej poprawki / obejścia, które działa na moim komputerze.

Aktualizacja 6 (2016-06-15) Mladen Mihajlovic obudził mnie. Właśnie zdałem sobie sprawę, że zapomniałem powiedzieć o dostępności VS2015 Update 3 RC (proszę zauważyć, że myślę, że to drugie wydanie: Update 3 RC2). Jest dostępny od 7 czerwca w MSDN , RC1 = 14.0.25401.00, podczas gdy RC2 = 14.0.25402.00. Brzmi dużo stabilniej (bardzo go polecam).

Eric Ouellet
źródło
11
Myślę, że jest to obejście problemu, który istniał wcześniej, ale przed aktualizacją 2 nie wyłączyła go automatycznie, zamiast tego wydajność stała się okropna. Najważniejsze jest to, że w przypadku dużego rozwiązania (prawdopodobnie pod względem rozmiaru kodu, a nie liczby projektów) pełna analiza rozwiązania jest nadal niepraktyczna, więc po prostu jej nie chcesz. Teraz dzieje się to automatycznie. Wyłączenie go stanowi obejście problemu. Zespół Roslyn może pracować nad rozwiązaniem. Mam ponad 100 rozwiązań projektowych z 50 tys. Typów, Update1 był bezużyteczny, aw Update2 otrzymuję błąd bezpośrednio podczas ładowania rozwiązania.
Anders Forsgren
Wielkie dzięki za informację. Prawdopodobnie wyjaśnia to, dlaczego od czasu do czasu moja aktualizacja VS2015 1 również się zawiesza. Przynajmniej teraz mamy rozwiązanie awaryjne i możemy kontynuować pracę. Mam nadzieję, że zespół Roslyn szybko znajdzie rozwiązanie :-)!
Eric Ouellet
2
Głosuję za zamknięciem tego pytania jako niezwiązanego z tematem, ponieważ istnieje problem z połączeniem Microsoft Connect.
Daniel A. White,
1
Mam ten sam problem. VS2015 aktualiz. 2 + ReSharer (oba zaktualizowane). Mamy około 400 projektów w rozwiązaniu. Spotkałem to tylko z ReSharper. Ale niestety zainstalowałem aktualizację 2 mniej więcej w tym samym czasie co ReSharper. Więc nie jestem pewien, kto jest winny. W VS zabrakło dostępnej pamięci dla aplikacji 32-bitowej. Posiadanie 64-bitowego VS IDE mogłoby pomóc. Mam dużo wolnej pamięci (64 GB) - więc nienawidzę aplikacji, które mówią mi, że brakuje im pamięci.
Martin Dobšík

Odpowiedzi:

3

Po bardzo krótkiej analizie wydaje się, że problem może być związany z implementacją CodeAnalysis, która jest domyślnie włączona i nie znalazłem żadnej opcji pliku konfiguracyjnego, która mogłaby ją wyłączyć.

Oto referencyjne wyniki wyszukiwania .

Na razie udało mi się jednak pomyślnie wyłączyć wtyczkę CodeAnalysis VS i wygląda na to, że wpłynęło to na płynność działania VS.

Jedyną zmianą była zmiana nazwy folderu wtyczki CodeAnalysis z:

C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\CommonExtensions\Microsoft\CodeAnalysis

do

C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\CommonExtensions\Microsoft\CodeAnalysis_disabled

To oczywiście pogorszy zestaw funkcji VisualStudio i prawdopodobnie spowoduje pewne efekty uboczne, ale ponieważ używam własnych funkcji alanylsis ReSharper, VS CodeAnalysis był po prostu przesadny.

Aktualizacja:

Wygląda na to, że Microsoft.VisualStudio.CodeAnalysis.VCPlugin.dll jest również dodany do GAC i chroniony przed usunięciem przez gacutil. Aby wymusić usunięcie go z GAC, wymagane są następujące kroki:

  1. Usuń następujący klucz rejestru, ale najpierw zapisz go na wszelki wypadek:

Edytor rejestru systemu Windows w wersji 5.00

[HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes \ Installer \ Assemblies \ Global] "Microsoft.VisualStudio.CodeAnalysis, version = \" 14.0.0.0 \ ", publicKeyToken = \" b03f5f7f11d50a3a \ ", procesorArchitecture = \" MSIL \ ", 14.0.23107.0 \ ", culture = \" neutralny \ "" = hex (7): 6a, \ 00,5f, 00,65,00,7e, 00,5a, 00,61,00,47,00,71 , 00,2a, 00,3f, 00,6a, 00,61,00,31,00, \ 30,00,6e, 00,66,00,70,00,4e, 00,2d, 00,44, 00,54,00,65,00,73,00,74,00,54,00,6f, \ 00,6f, 00,6c, 00,73,00,5f, 00,65,00,6e, 00 , 75,00,3e, 00,39,00,42,00,21,00,4e, 00, \ 63,00,6a, 00,24,00,58,00,70,00,45,00, 42,00,75,00,6a, 00,21,00,56,00,3d, 00,2d, \ 00,31,00,51,00,32,00,00,00,68,00,6a , 00,4f, 00,46,00,70,00,48,00,2d, 00,24,00, \ 4b, 00,34,00,69,00,4f, 00,68,00,33, 00,72,00,60,00,65,00,62,00,28,00,36,00,43, \ 00,6f, 00,64,00,65,00,5f, 00,41,00,6e, 00,61,00,6c, 00,79,00,73,00,69,00,73,00, \ 5f, 00,54,00,6f, 00,6f , 00,6c, 00,73,00,5f, 00,31,00,31,00,39,00,38,00,37,00,5f, \ 00,78,00,38,00,36, 00,5f, 00,65,00,6e, 00,75,00,3e, 00,39,00,42,00,21,00,4e, 00, \ 63,00,6a, 00,24,00 , 58,00,70,00,45,00,42,00,75,00,6a, 00,21,00,56,00,3d, 00,2d, \ 00,31,00,51,00, 32,00,00,00,00,00

  1. Odinstaluj zestaw z GAC

"C: \ Program Files (x86) \ Microsoft SDKs \ Windows \ v10.0A \ bin \ NETFX 4.6 Tools \ x64 \ gacutil.exe" / u "Microsoft.VisualStudio.CodeAnalysis, Version = 14.0.0.0, Culture = neutral, PublicKeyToken = b03f5f7f11d50a3a, procesorArchitecture = MSIL "/ f

Zaleca się również przeniesienie folderu CodeAnalysis_disabled do innej lokalizacji, ponieważ nie mogę powiedzieć, w jaki sposób program ładujący VS MEF jest zaimplementowany i gdzie będzie szukał wtyczek.

także
źródło
Uwaga: Możesz to wyłączyć przez: Menu-ReSharper-Options-Code Inspection- „Enable code analysis”.
Eric Ouellet
Wypróbowałem już Twoją sugestię w przeszłości (przed aktualizacją 2), ale nie uniemożliwiło to zamrożenia programu Visual Studio. Wydaje się, że dzieje się rzadziej, ale nadal zamarzają. Poniedziałek, 18 kwietnia (3 dni temu) Właśnie odinstalowałem pakiet 20-30 Framework.net z „Program i funkcje” i całkowicie ponownie zainstalowałem Visual Studio z Update 2. Wygląda na to lepiej, przynajmniej jeśli chodzi o zamrożenie, bo od ponad tygodnia nie dostałem wiadomości o pamięci. Zanim zaakceptuję odpowiedź, poczekam, aż upewnię się, że poprawiono poprawność. Dzięki.
Eric Ouellet
Nie mam nic przeciwko własnej analizie kodu ReSharper. W rzeczywistości ma sens, że VS może nadal zawieszać się z dużymi bazami kodu, ponieważ jest to aplikacja 32-bitowa, która najwyraźniej po ciągłym rozwoju funkcji wymaga 64-bitowego skoku, aby poradzić sobie z ograniczeniami pamięci. Potraktuj moją odpowiedź jako wskazówkę, która pomoże na razie wyłączyć jedną funkcję pamięci i procesora. Sprawdź również aktualizację.
zbyt
Testuję Twoje rozwiązanie. Dzięki! Dzisiaj ponownie uruchomiono moją aktualizację VS2015 2. Dość agresywny jako poprawka, ale jeśli to działa :-) !!! Będę Cię informował o zachowaniu na moim komputerze ...
Eric Ouellet
Właśnie dostałem ten sam komunikat: „Wykryto małą ilość pamięci ...”, chociaż postępowałem zgodnie z twoimi instrukcjami. Myślę, że Codeanalysis nadal istnieje. Wygląda na to, że wyłączenie CodeAnalysis jest naprawdę trudne. Zastanawiam się, czy to nie jest krytyczne, aby VS2015 działał poprawnie (... część Roslyn).
Eric Ouellet
3

Obejściem tego problemu jest wyłączenie pełnej analizy rozwiązania, przechodząc do Narzędzia -> Opcje -> Edytor tekstu -> C # (lub Podstawowe) -> Zaawansowane -> Odznacz „Włącz pełną analizę rozwiązania”.

Wygląda na to, że jest to błąd, nad którym zespół Rosyln pracuje https://github.com/dotnet/roslyn/issues/10365

John Atwood
źródło
Dzięki, właśnie wyłączyłem VS Solution Analysis. Twój link zawiera wiele przydatnych informacji.
Eric Ouellet
Po 2 godzinach ==> brak wiadomości o pamięci, ale VS zawiesił się ponownie. Ale nie uruchomiłem ponownie po wyłączeniu pełnej analizy rozwiązania. Teraz gotowe :-)!
Eric Ouellet
1
Nie wiem, czy to naprawia błąd komunikatu pamięci. Ale to z pewnością nie rozwiązuje problemu z pamięcią, nieuniknionego spowolnienia, które pojawia się po pewnym czasie (jak 4 godziny w moim przypadku). W końcu zamyka się i umiera. Nadal jest błąd. To nie rozwiązuje problemu. (26.04.2016, 6 godzin po wypróbowaniu obejścia).
Eric Ouellet
1
Rozumiem! „Wykryto mało pamięci. Pełna analiza rozwiązania została wyłączona dla tego rozwiązania”, chociaż moja pełna analiza rozwiązania była już wyłączona. Jest tak powolny, że muszę zamknąć i ponownie uruchomić. Bardzo produktywne !!! Już po godzinie.
Eric Ouellet
Czy ktoś może wyjaśnić, co właściwie robi „Włącz pełną analizę rozwiązania” ? Mam już wyłączone, ale pojawia się również komunikat „Wykryto małą ilość pamięci”.
Craig W.
3

Przeczytałem kilka artykułów opisujących ten problem jako przekroczenie wirtualnej przestrzeni adresowej, ponieważ niektóre struktury pamięci wewnętrznej (być może lista) przekraczają 2 GB. 2 GB to domyślna wirtualna przestrzeń adresowa dla procesów 32-bitowych, takich jak VS 2015. Można ją jednak dostosować do maksymalnie 3 GB.

Rozwiązanie, które znalazłem, jest stąd :

Start▸All Programs▸Accessories▸right-click on Command Prompt▸Run as administrator

Run the following command:

bcdedit /set IncreaseUserVa 3072

Restart the computer.

Nie jest to rozwiązanie w 100%, ponieważ w końcu może zabraknąć wirtualnej przestrzeni adresowej nawet przy 3 GB pamięci RAM na proces. Po wyregulowaniu tego przełącznika VS przestał narzekać na pamięć.

Ognyan Dimitrov
źródło
Dzięki Ognyan, może to potencjalnie dać ci trochę więcej czasu, ale nie znam jego wad. Jeśli nie ma, dlaczego Microsoft nie ustawiłby tego samodzielnie? Wolę poczekać na solidniejsze rozwiązanie. Ale może niektórym się spodoba i spróbuje. Na marginesie, wygląda na to, że dotyczy tylko 32-bitowej wersji systemu Windows (jak napisano w pierwszym zdaniu) ??? Mam Windows 7 w wersji 64
Eric Ouellet
1
Domyślam się, że w systemie 32-bitowym z tylko 4 GB pamięci adresowalnej nie ma innej opcji. Teraz mam maszynę z 32G RAM-u i nie ma problemu, aby dać procesowi trochę więcej - system operacyjny będzie miał więcej niż wystarczająco do wykorzystania. Możesz przeczytać to pod linkiem : „W 32-bitowych wersjach systemu Windows aplikacje mają 4 gigabajty (GB) wirtualnej przestrzeni adresowej. Wirtualna przestrzeń adresowa jest podzielona tak, aby 2 GB było dostępne dla aplikacji, a pozostałe 2 GB jest dostępny tylko dla systemu. ”
Ognyan Dimitrov
Brzmi interesująco! Spróbuję, jeśli / kiedy vs2015 ponownie się zawiesi. Dzięki!
Roman
1
@OgnyanDimitrov, Windows wydał nową aktualizację, która naprawiła awarie VS2015. W rezultacie nie próbowałem tego rozwiązania.
Roman
@OgnyanDimitrov, to była ogólna aktualizacja systemu Windows. Około 9-12 maja wydali dużą liczbę aktualizacji (około 30), a jedna z nich (lub kilka) była naprawcą. Upewnij się, że są zainstalowane wszystkie aktualizacje systemu Windows.
Roman
3

Za kilka tygodni z dostępną aktualizacją 3 i nikt nie odpowiada ...

„Visual Studio Update 3” naprawia ten problem i rozwiązuje wiele innych. OBOWIĄZKOWA !!!

Zalecam przeczytanie tego przed zainstalowaniem aktualizacji 3: Visual Studio 2015 Update 3 i .NET Core 1.0 już dostępne od Johna Montgomery'ego.

Bezpośredni link do pobrania: Visual Studio Update 3

Eric Ouellet
źródło
2

Moja odpowiedź brzmi: Zamknij i otwórz program Visual Studio.

Mam odznaczoną opcję „Włącz pełną analizę rozwiązania” i nadal otrzymuję komunikat programu Visual Studio „Wykryto małą ilość pamięci. Pełna analiza rozwiązania jest wyłączona dla tego rozwiązania”. Wersja Visual Studio 2015 to 14 Update 2. Uważam, że muszę zamknąć VS.

VS nie może otworzyć zadań TFS i nie mogę sprawdzić kodu, chyba że zamknę i ponownie otworzę VS. Na szczęście mam nowy dysk twardy półprzewodnikowy, więc zamknięcie / otwarcie VS nie sprawia, że ​​czekam strasznie długo, jak wcześniej. Ale wciąż rozczarowujący kłopot.

Joe Kahl
źródło
2
Dzięki, ale właśnie to już robię. Szukam mniej niepokojącego rozwiązania :-)!
Eric Ouellet
0

Od jakiegoś czasu znosiłem ten problem. Podczas pracy z plikami TypeScript zobaczyłbym, że zużycie pamięci stale rośnie, co prowadzi do ostatecznej awarii. Jeśli to może być twoja sytuacja, sprawdź, czy masz rxjs w dowolnym miejscu w projekcie. Jeśli wersja to 5.0.0-beta.2, zaktualizuj ją do wersji 5.0.0-beta.3 (lub nowszej), aby to naprawić.

Więcej szczegółów: https://github.com/Microsoft/TypeScript/issues/7344#issuecomment-198392320

gxclarke
źródło
Pracuję tylko z WPF. Czy mówisz o referencji? Jeśli tak, nigdy nie odwoływałem się do rxjs w żadnym z moich projektów.
Eric Ouellet
0

Żałuję, że nie mam magicznej kuli. Ale oto, co mi pomogło, ale teraz zawsze rozwiązuje problem. Aktualizacja VS2015 2. Resharper 2016.1.1. Wszystkie projekty są vNEXT.

  1. W Resharper -> Opcje -> Inspekcja kodu -> Ustawienia. Dodaj tyle folderów wwwroot. Dodałem również każdy folder pod wwwroot, ponieważ nie wydawał się kaskadowy. W maskach plików dodaj dowolny framework * .js lub * .css (tj. * .Min.js, * jquery.js, * angular.js, * .min.css). Ten krok pomógł ograniczyć „Ładowanie plików źródłowych”, które wykonuje resharper, kiedy buduję js / css za pomocą Gulp, Grunt do publikacji.

  2. To nie jest idealne rozwiązanie, ale kiedy piszę kod i nie planuję testowania, wyładuję wszystkie projekty, których nie używam, zwykle w testach. Wydaje się, że ogranicza to `` zarządzaną pamięć '', której używa resharper / vs.

  3. Wreszcie irytujące jest to, że NIGDY nie patrzę na pliki w bower_components w VS Solution Explorer. Uważam, że bezpośrednie przejście do folderu i użycie czegoś takiego jak VSCODE do przeglądania JS / JSON oszczędza czas i frustrację. Prowadzi mnie to do przekonania, że ​​chociaż node_modules i bower_components są „ignorowane”, w rzeczywistości nie są ignorowane lub ma to coś wspólnego z samą liczbą plików w katalogu projektu.

Czekam na rozwiązanie w 100%, ale mam nadzieję, że te pomogą.

Rentering.com
źródło
Aktualizuję swoje doświadczenie. Wyłączyłem narzędzia ReSharper -> Opcje. Zainstalowano CodeMaid. Nadal mam błąd Low Memory. Uzyskanie błędu zajęło więcej czasu, ale nie sądzę, że jest to problem Resharper, ale myślę, że Resharper sprawia, że ​​dzieje się to szybciej. Nie ma tu jeszcze rozwiązania, ale cieszę się, że to nie wina Resharpera (per se).
Rentering.com