【问题标题】:How to make Visual Studio 2010 use more than 600Mb of memory如何让 Visual Studio 2010 使用超过 600Mb 的内存
【发布时间】:2012-02-20 19:23:57
【问题描述】:

我厌倦了 VS2010 的速度有多慢。我知道这里有很多关于调整设置的主题,但我已经阅读/应用了它们,但运气并不好。即我已经做过的事情:

  • 删除了所有扩展
  • 从来没有修磨器
  • 调整设置以获得最佳性能
  • 尝试过 SSD 和 RAM 磁盘

没有任何帮助,它仍然慢得令人无法接受。我知道我在说什么,因为使用 VS2008 我从来没有遇到过这样的问题。

现在,我正在开发一个相当大的 C# 解决方案,其中包含大约 20 个项目。 Visual Studio 刚打开时工作得非常快,但随着时间的推移,它开始滞后,最终变得如此缓慢,以至于我不得不重新启动它。资源监视器显示它消耗的内存量在开始时约为 200 MB,然后上升到 ~600 MB,然后不再增加。我在 x64 笔记本电脑上有 8 GB 的总 RAM,大约 4 GB 总是免费的。我觉得奇怪的是 VS 使用了多少内存,并且根据我的常识告诉我,内存越多,应用程序运行得越快。所以我相信我的问题是如何让 VS 使用更多的可用内存。

PS 我尝试了Configure Visual Studio to use more ram 的食谱,但没有成功。

【问题讨论】:

    标签: performance visual-studio-2010 memory


    【解决方案1】:

    没有办法让 Visual Studio 使用更多内存。应用程序本身没有预设限制。它只会使用操作系统授予它的内存量(就像其他应用程序一样)。

    您看到它增加到 600MB 然后停止的原因只是托管 GC 工作方式的副作用。当它执行显示智能感知、执行编辑等操作时,将创建更多托管对象。最终触发 GC 并回收所有空闲对象并提升寿命更长的对象。总体而言,虽然内存使用量会降低,但不会像开始编辑之前那么多。然后你再编辑一些,这个过程会继续,直到它达到稳定状态的外观。如果您深入分析它,您会发现它实际上更像是内存使用情况的锯齿图。

    虽然很难远程确定您的特定 Visual Studio 实例为何运行缓慢。 20 个项目是一个更大的解决方案,但即使有这么多,性能仍然可以接受。为了隔离问题需要尝试几件事

    • 尝试编辑一个较小的解决方案。可能有一个项目特别给 VS 带来了问题。将项目分解为更小的解决方案有助于将其隔离。
    • 尝试在您的计算机上禁用 Aero。 WPF 可能是这里的问题

    【讨论】:

    • 感谢您的回复!关于“特别是一个项目”,我能想到的最佳候选者是 ASP.NET MVC3.0 项目,尤其是 RAZOR 引擎视图。当我键入时,我可以清楚地看到标记代码中显示的每个字符之间的时间延迟。我不知道如何处理它。我可能不得不降级到传统的 MVC 视图引擎。关于 Aero - 它成功了,我不确定它是否只是它,但现在 VS 的工作速度明显更快。再次感谢!
    • @bonomo 这是可能的。您是否尝试过单独编辑该项目并查看问题是否重复?
    • 刚刚单独打开了那个MVC3.0项目,同样的事情,只是在RAZOR视图中打字的时候就卡顿了,可以看得很清楚。这是我注意到的另一件事,带有指向外部 JavaScript 文件的链接的脚本元素越多,视图编辑的速度就越慢。虽然看起来很明显,更多的 JavaScript 文件引用了智能感知等更强烈的负载,但是智能感知无法解析 javascript 路径(它是动态的#c 表达式)并且根本没有对链接文件的智能感知支持,但是有一个脚本数量与速度之间的相关性。
    • @bonomo 我肯定会将这个问题报告给microsoft.connect.com。在打字过程中绝对不应该那么滞后
    猜你喜欢
    • 1970-01-01
    • 2011-03-04
    • 2011-10-03
    • 1970-01-01
    • 1970-01-01
    • 2011-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多