Автоматическая приостановка функций
Если доступная системная память падает до 200 МБ или меньше, Visual Studio отображает следующее сообщение в редакторе кода:
Когда Visual Studio обнаруживает состояние низкой памяти, он автоматически приостанавливает некоторые расширенные функции, чтобы помочь ему оставаться стабильным. Visual Studio продолжает работать как раньше, но его производительность снижается.
В состоянии низкой памяти выполняются следующие действия:
Анализ динамического кода для Visual C# и Visual Basic сокращается до минимальной области.
режим низкой задержки сборки мусора для Visual C# и Visual Basic отключен.
Кэши Visual Studio очищаются.
Повышение производительности Visual Studio
Советы и рекомендации по улучшению производительности Visual Studio при работе с большими решениями или условиями с низкой памятью см. в рекомендации по повышению производительности для крупных решений.
Анализ живого кода сводится к минимальной области.
По умолчанию анализ динамического кода выполняется для открытых документов и проектов. Эту область анализа можно настроить для уменьшения до текущего документа или увеличения до всего решения. Дополнительные сведения см. в разделе How to: Configure live code analysis scope for managed code. В условиях низкой памяти Visual Studio принудительно сокращает область динамического анализа до текущего документа. Однако вы можете повторно включить предпочтительную область анализа, выбрав кнопку повторно включить на панели сведений, когда она появится, или перезапустив Visual Studio. В диалоговом окне "Параметры" всегда отображаются текущие параметры области анализа динамического кода.
Низкая задержка для GC отключена
Чтобы повторно включить режим низкой задержки GC, перезапустите Visual Studio. По умолчанию Visual Studio включает режим низкой задержки GC при вводе, чтобы гарантировать, что ввод не блокирует операции GC. Однако если недостаток памяти приводит к появлению предупреждения об автоматической приостановке в Visual Studio, режим низкой задержки GC отключается для этого сеанса. Перезапуск Visual Studio повторно позволяет повторно использовать поведение GC по умолчанию. Дополнительные сведения см. в GCLatencyMode.
Кэши Visual Studio очищены
Если продолжить текущий сеанс разработки или перезапустить Visual Studio, все кэши Visual Studio немедленно очищаются, но начинают повторно заполняться. Кэши, промытые, включают кэши для следующих функций:
Поиск всех ссылок
Перейдите к
Добавление с помощью
Кроме того, кэши, используемые для внутренних операций Visual Studio, также очищаются.
Заметка
Предупреждение об автоматической приостановке функций происходит только один раз для каждого решения, не для каждого сеанса. Это означает, что если вы переключаетесь с Visual Basic на Visual C# (или наоборот) и сталкиваетесь с другой проблемой нехватки памяти, вы можете получить другое предупреждение о приостановке работы автоматической функции.