Visual Studio 2008 ползет после долгого простоя - PullRequest
0 голосов
/ 28 августа 2009

Что такое люди.

Что-то беспокоило меня уже некоторое время ... и мне было интересно, если кто-нибудь из вас знает, как обойти это.

Решение C #, над которым я работаю, - это огромное решение, которое содержит около 20 проектов и почти такое же количество проектов модульных тестов. Каждый проект содержит сотни файлов. Так что открытие и закрытие решения занимает некоторое время ... но как только оно открывается, все в порядке.

Но если я оставлю свой компьютер на ночь (с моим решением, все еще открытым в VS) и вернусь на следующее утро, все, что я сделаю в VS, будет очень медленным для следующего полчаса или около того.

Я знаю, почему это происходит ... это потому, что Windows, кажется, удаляет незанятые процессы из памяти (RAM). И когда я что-то делаю в VS, он берет данные из файла подкачки и помещает их обратно в память, что замедляет все отдельные операции, которые я делаю, пока память процесса не будет полностью восстановлена ​​в ОЗУ.

Итак, мой вопрос: есть ли способ сообщить Windows, что VS является приоритетным процессом / приложением, и оставить память этого процесса в оперативной памяти?

Заранее спасибо,

-Oli

Ответы [ 3 ]

2 голосов
/ 28 августа 2009

Я не думаю, что это возможно. OTOH, вы можете перевести ваш компьютер в режим приостановки на диск. Это в значительной степени заморозило бы его состояние, как оно есть, когда вы выходите (то есть: VS в ОЗУ) и восстанавливаете его до того же состояния, когда вы начинаете работать. В качестве дополнительного бонуса вы помогли бы сохранить энергию и тем самым могли бы спасти Землю.

0 голосов
/ 28 августа 2009

AFAIK, изменение приоритета процесса не решит проблему, поскольку узким местом является время ввода-вывода, а не процессорное время. Если проблема вредит вашей производительности, стоит купить еще несколько гигабайт оперативной памяти (насколько это зависит от вашей ОС и бюджета). Если вы можете получить около 3-4 ГБ ОЗУ, вы можете даже удалить файл подкачки (или закрыть, чтобы удалить его). Это предотвратит падение VS в режиме ожидания.

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

0 голосов
/ 28 августа 2009

Вы можете изменить ярлык VS в соответствии с этой статьей, чтобы повысить приоритет, но я не знаю, будет ли он выполнять то, что вы описываете для памяти процесса.

Также исключительно в целях повышения производительности вы можете рассмотреть вопрос о замене жесткого диска на SSD, если вы этого еще не сделали. Мой друг показал мне свой новый ноутбук с SSD на борту, он загрузился в Windows менее чем за минуту и ​​открыл VS менее чем за 5 секунд.

Допустим, что открывавшееся VS прямо из меню "Пуск", можно надеяться, что открытие такого огромного проекта будет, по крайней мере, значительно быстрее.

...