16

Mam rozwiązanie z prawie 100 projektów w nim, mieszanka C++ i C# (głównie C#). Podczas pracy w VS2005, zestaw roboczy Visual Studio jest znacznie mniejszy niż VS2010.Visual Studio 2010 - jak zmniejszyć jego rozmiar pamięci

Zastanawiam się, czy są pewne rzeczy, które można wyłączyć, więc mogę rozwijać się w VS2010 w 32-bitowym systemie operacyjnym bez wyczerpania pamięci.

+0

Dzięki za spojrzenie. FYI, pliki binarne SQL są również świadome dużych adresów pamięci. Moje pytanie dotyczy rozwoju dużych rozwiązań w wersji 32-bitowej. – GregC

+1

Następnie chciałbym odnieść się do odpowiedzi Jareda. IMO (bez obrazy) 100 projektów w rozwiązaniu jest czystym szaleństwem. –

+1

Hmm, czy w VS2010 jest jeszcze coś, co można wyłączyć, aby uzyskać lżejszy ślad pamięci? – GregC

Odpowiedz

11

Możesz spróbować użyć Solution Load Manager. Pozwoli ci to oznaczyć niektóre pliki projektów jako ładunek na żądanie lub brak obciążenia. To może pomóc.

4

Najlepszą rzeczą, jaką można zrobić, to podzielić swoje rozwiązanie. Visual Studio nie miało obsługiwać tylu projektów w tym samym rozwiązaniu i w rezultacie cierpi na problemy z wydajnością. Podział rozwiązania na 5 różnych spraw poprawi sytuację.

+0

Not true re: the system operacyjny. 64-bitowy system operacyjny może w rzeczywistości dać procesom 32-bitowym znacznie więcej maszyn wirtualnych niż proces 32-bitowy. http://blogs.technet.com/b/markrussinovich/archive/2008/11/17/3155406.aspx –

+0

@ Czy to prawda, że ​​aplikacja zaprojektowana, aby wykorzystać tę możliwość, może. Nie wierzę, że Visual Studio to robi. – JaredPar

+2

@Jared: Aby sprawdzić, uruchomiłem dumpbin/headers na devenv.exe i potwierdziłem, że Visual Studio * może * uzyskać dostęp> 2GB, ponieważ ustawiona jest flaga "Application can handling large (> 2GB) addresses". –

2

Jeśli korzystasz z XP, aktualizacja do systemu Windows Vista lub Windows 7 pomoże, ponieważ korzysta z WPF. Może zmniejszyć ślad pamięci renderowania interfejsu użytkownika, który w przeciwnym razie musiałby korzystać z trybu zgodności.

+7

Upgrade do Windows 7 pomoże. Vista - nie tak bardzo. Wprowadzili radykalne ulepszenia w wykorzystaniu pamięci stosu graficznego w systemie Windows 7.Właściwie, po prostu udawajmy, że Vista nigdy się nie wydarzyła. –

5

64-bitowy system operacyjny OS should help you out a bit here, jeśli otrzymasz więcej niż 4 GB fizycznej pamięci RAM. 64-bitowy system operacyjny może zapewnić procesom 32-bitowym pełne 4 GB pamięci wirtualnej, podczas gdy 32-bitowy system operacyjny może zapewnić maksymalnie 2 lub 3 koncerty w zależności od sposobu rozruchu systemu operacyjnego.

Mimo to 100 projektów jest dość grubym rozwiązaniem. Może teraz byłby dobry czas, aby ponownie zbadać tę decyzję ...

EDIT: Bieganie DUMPBIN/nagłówki jak określono w artykule devenv.exe powraca:

File Type: EXECUTABLE IMAGE 

FILE HEADER VALUES 
      14C machine (x86) 
       4 number of sections 
     4BA1FAB3 time date stamp Thu Mar 18 06:04:35 2010 
       0 file pointer to symbol table 
       0 number of symbols 
       E0 size of optional header 
      122 characteristics 
        Executable 
        Application can handle large (>2GB) addresses 
        32 bit word machine 

tak, by wskazać, że w polu x64 z> 4 GB pamięci RAM prawdopodobnie poprawi twoje wrażenia. Powinieneś mieć do dwóch razy więcej VM dostępną dla Visual Studio w 64-bitowym systemie operacyjnym ...

+0

To brzmi jak dobre rozwiązanie i zdecydowanie zmierzamy w tym kierunku. Jedna rzecz do zapamiętania: Wyłączyłem automatyczne ponowne indeksowanie kodu źródłowego C++, co zdawało się pomagać w wykorzystaniu procesora i pamięci. – GregC

+0

W narzędziach-> Opcje-> Edytory tekstu-> C++ -> Zaawansowane – GregC