Хотите, чтобы Visual Studio 2010 прекратил использовать диск, когда в Windows 7 64 бит

11

Я буду модернизировать свою систему для использования 16 ГБ оперативной памяти DDR3 в 64-разрядной версии Windows 7 и Visual Studio 2010 Ultimate. Процессор будет 6 ядер 3,2 ГГц. Я делаю много компиляций в день, и моя цель для VS - показать веб-страницу через несколько секунд после внесения изменений в код.

Я заметил, что Visual Studio во время своей работы выполняет много операций ввода-вывода (из светодиодов HD). Я хотел бы поместить в память все, что нужно VS, включая временные папки, системные файлы, мой код и т. Д. Я просто хочу, чтобы VS блистал быстро . Мой основной диск - это SSD, который работает быстро, и я даже хочу, чтобы VS его не использовал. Оперативная память супер быстрая по сравнению с чем-либо еще.

Я знаю, что VS 2010 по-прежнему 32-битный, поэтому он будет использовать не более 4 ГБ, однако все другие открытые приложения (браузер, Outlook, File Explorer и т. Д.) Могут использовать все, что осталось от 12 ГБ, и позволить VS свободно перемещаться в выделенном 4 ГБ памяти.

Мой вопрос : какие настройки и настройки я могу выполнить для Windows 7 и VS 2010, чтобы VS 2010 выделял и использовал столько памяти, сколько мог, и блокировал ее, чтобы он как можно меньше использовал жесткий диск? Windows 7 64 & VS уже оптимизирована для этого, и ничего больше не поделаешь. Поможет ли RAM диск? Думайте об этом, как будто я пытаюсь устранить диск.

Мне известно о большей вероятности потери данных при потере мощности, но сейчас это не проблема. Предположим, что нет внешних зависимостей (базы данных, скорости сети ...), которые могут замедлить VS. Дефрагментация диска мало помогает.

Tony_Henrich
источник
Поскольку это больше относится к тому, как настроить RAM-диски и использование исполняемой памяти, чем к программированию, голосование должно перейти к суперпользователю.
jball
1
@jball Я не согласен, это связано с программированием, достаточным для того, чтобы избежать суеты, ИМХО, поскольку многие разработчики VS могут выиграть от такой конфигурации.
Я поставил вопрос здесь, потому что мне нужны люди, которые хорошо знают, как работает Visual Studio. Если это только ошибка сервера, я, вероятно, получу общие советы по оптимизации Windows (все еще хорошие советы). Однако я не против разместить его на обоих сайтах.
Tony_Henrich
У меня есть связанный вопрос в serverfault. serverfault.com/questions/142203/…
Tony_Henrich

Ответы:

6

Вы уже получили то, что просите. С таким большим количеством оперативной памяти у вас будет действительно большой кеш файловой системы. Отображается из Taskmgr.exe, вкладка «Производительность», «Кэшировано». Любой диск записывает, что Visual Studio выполняет полностью мгновенно, когда данные записываются в ОЗУ. Затем менеджер кэша будет лениво записывать его на диск, поэтому индикатор доступа к вашему диску будет мигать.

Аналогично, чтение с диска ускорится. Он все еще должен сойти с диска, но он будет читать всю дорожку, а не только файловый сектор, который запрашивает Visual Studio. Что делает его очень вероятно , что следующее чтение выйдет из памяти , вместо того , чтобы извлечь из диска.

Это работает так хорошо (и безопасно), что RAM-диски больше не используются.

Ганс Пассант
источник
Я также видел, как VS делает запись на диск, и у меня есть 6 ГБ, которые не заполнены. Я думаю, что VS может использовать флаги, которые вынуждают данные к дисковому хранилищу. Он должен думать, что выходные файлы являются ценным материалом!
Зан Рысь
Хм, какой проект генерирует 6 гигабайт исполняемого кода?
@ Ханс: Перефразировать. Моя система имеет 6 ГБ ОЗУ, которое не полностью израсходовано и должно быть доступно в качестве кэша записи на диск для 100 МБ выходных файлов, создаваемых сборкой проекта.
Zan Lynx
1
@zan - используйте ProcMon от SysInternals, чтобы узнать, что делает диск.
Ганс Пассант
2

Похоже, вам нужно сначала создать RAM-диск. Не уверен в инструментах для этого в Windows 7; может быть, у кого-то еще будет идея. Но это должно обрабатывать все настройки, необходимые на стороне Windows, насколько диск идет. Единственное, что я хотел бы добавить, это установить вашу временную директорию на RAM-диск. Это хранится в переменных среды как TMP и TEMP. Это также обычно в системных и пользовательских переменных; обязательно поменяйте оба.

В Visual Studio вам необходимо убедиться, что все, что вы можете установить в качестве параметров пути в Visual Studio, указывает на диск RAM. Это включает в себя входные и выходные каталоги проекта и любые временные каталоги, которые могут ему понадобиться, хотя теоретически все они должны быть отключены от переменных среды TMP / TEMP.

jdmichal
источник