自动功能挂起

如果可用系统内存降至 200 MB 或更少,Visual Studio 将在代码编辑器中显示以下消息:

挂起完整解决方案分析的警报文本

当 Visual Studio 检测到内存不足的情况时,它会自动暂停某些高级功能,以帮助其保持稳定。 Visual Studio 继续像以前一样工作,但其性能会下降。

在内存不足的情况下,将执行以下操作:

提高 Visual Studio 性能

有关处理大型解决方案或低内存条件时如何提高 Visual Studio 性能的提示和技巧,请参阅 大型解决方案的性能注意事项

实时代码分析缩小到最小范围

默认情况下,实时代码分析针对打开的文档和项目执行。 可以自定义此分析范围,以减少到当前文档或增加到整个解决方案。 有关详细信息,请参阅 如何:为托管代码配置实时代码分析范围。 在内存不足的情况下,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 缓存,但开始重新填充。 已刷新的缓存包括以下功能的缓存:

  • 查找所有引用

  • 定位到

  • 添加 Using

此外,还会清除用于内部 Visual Studio 操作的缓存。

说明

自动功能挂起警告只会在每个解决方案中出现一次,而不会在每个会话中出现一次。 这意味着,如果您从 Visual Basic 切换到 Visual C#(或反之亦然),并遇到其他内存不足的情况,您可能会再次收到一个自动功能暂停警告。