16

У меня есть решение с чуть менее 100 проектами в нем, сочетание C++ и C# (в основном C#). При работе в VS2005 рабочий набор Visual Studio значительно меньше, чем у VS2010.Visual Studio 2010 - как уменьшить его площадь памяти

Мне было интересно, есть ли какие-то вещи, которые можно отключить, поэтому я могу разработать в VS2010 под 32-разрядной ОС без исчерпания памяти.

+0

Спасибо, что посмотрели. FYI, двоичные файлы SQL также знают о больших адресах памяти. Мой вопрос в особенности о разработке с большими решениями на 32-битной основе. – GregC

+1

Тогда я бы назвал ответ Джареда. ИМО (без обид) 100 проектов в решении - это чистое безумие. –

+1

Хм, опять же, есть ли какие-нибудь вещи в VS2010, которые можно отключить, чтобы получить более светлый объем памяти? – GregC

ответ

11

Вы можете попробовать использовать Solution Load Manager. Это позволит вам отмечать некоторые файлы проектов как нагрузку по требованию или вообще не загружать. Это может помочь.

4

Лучшее, что вы можете сделать, это разделить ваше решение. Visual Studio не предназначалась для обработки столь многих проектов в одном и том же решении и, как результат, в конечном итоге приводит к проблемам с производительностью. Разделение вашего решения на 5 разных вариантов улучшит ситуацию.

+0

Не верно re: ОС. 64-разрядная ОС может фактически дать 32-битным процессам гораздо больше виртуальных машин, чем 32-битный процесс. http://blogs.technet.com/b/markrussinovich/archive/2008/11/17/3155406.aspx –

+0

@ Да, это правда, что приложение, предназначенное для использования, может. Я не считаю, что Visual Studio делает это. – JaredPar

+2

@ Jared: просто чтобы проверить, я запускал dumpbin/headers на devenv.exe и подтвердил, что Visual Studio * может * получить доступ> 2 ГБ, так как «Приложение может обрабатывать большие (> 2 ГБ) адреса». –

2

Если вы находитесь в XP, обновление до Vista или Windows 7 поможет, поскольку оно использует WPF. Может уменьшить объем памяти в представлении пользовательского интерфейса, который в противном случае должен был бы использовать режим совместимости.

+7

Обновление до Windows 7 поможет. Vista - не так много. Они радикально улучшили использование памяти в стеке в Windows 7.На самом деле, давайте просто притворимся, что Vista никогда не случалось. –

5

64-разрядная ОС should help you out a bit here, если вы получаете более 4 ГБ физической памяти. 64-разрядная ОС может обеспечить 32-разрядные процессы с полной 4 ГБ виртуальной памяти, тогда как 32-разрядная ОС может обеспечить в лучшем случае 2 или 3 гигабайта в зависимости от того, как вы загружаете ОС.

Это, как говорится, 100 проектов - довольно жирный файл решения. Может быть, сейчас было бы хорошее время, чтобы пересмотреть это решение ...

EDIT: Запуск Dumpbin/заголовки, как это предусмотрено в статье для Devenv.exe возвращает:

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 

Так что будет означать, что в коробке 64 с> 4 ГБ оперативной памяти, вероятно, улучшит ваш опыт. У вас должно быть в два раза больше виртуальных машин, доступных для Visual Studio под 64-разрядной ОС.

+0

Это звучит как хорошее решение, и мы определенно движемся по этому пути. Одно замечание: я отключил автоматическое переиндексацию исходного кода на C++, и это, казалось, помогло с использованием ЦП, а также с объемом памяти. – GregC

+0

В разделе tools-> options-> Text Editors-> C++ -> Advanced – GregC

Смежные вопросы