Visual Studio 2010——如何减少其内存占用

Posted

技术标签:

【中文标题】Visual Studio 2010——如何减少其内存占用【英文标题】:Visual Studio 2010 -- how to reduce its memory footprint 【发布时间】:2011-03-04 12:39:38 【问题描述】:

我有一个解决方案,其中包含不到 100 个项目,混合了 C++ 和 C#(主要是 C#)。在VS2005下工作时,Visual Studio的工作集比VS2010小很多。

想知道有没有什么东西可以关掉,这样我就可以在32位操作系统下用VS2010开发而不会耗尽内存。

【问题讨论】:

感谢收看。仅供参考,SQL 二进制文件也知道大内存地址。我的问题特别是关于在 32 位上使用大型解决方案进行开发。 那么我会参考 Jared 的回答。 IMO(无意冒犯)一个解决方案中的 100 个项目是纯粹的疯狂。 嗯,再说一遍,VS2010 中是否有任何东西可以关闭以减少内存占用? 老实说,我的工资等级相当低,导致我们团队的解决方案文件发生如此巨大的变化。我只想通过提供的工具提高工作效率。 除非您正在运行 Resharper 之类的插件,否则我认为没有什么是重要的。在组织大型项目时,您的薪级以上的人没有常识,这太糟糕了。 【参考方案1】:

您能做的最好的事情就是拆分您的解决方案。 Visual Studio 不打算在同一个解决方案中处理这么多项目,因此确实会遇到性能问题。将您的解决方案分成 5 个不同的解决方案会让事情变得更好。

【讨论】:

不正确:操作系统。事实上,64 位操作系统可以为 32 位进程提供比 32 位进程更多的 VM。 blogs.technet.com/b/markrussinovich/archive/2008/11/17/… @Dave 确实,旨在利用的应用程序可以。我不相信 Visual Studio 会这样做。 @Jared:只是为了检查一下,我在 devenv.exe 上运行了 dumpbin /headers,并确认 Visual Studio 可以 访问 > 2GB,因为“应用程序可以处理大型 ( >2GB) 地址”标志已设置。 @Dave,每天学习新东西 :)。我将编辑我的答案。 仅供参考,SQL 管理 stusio 和 SQL 实例服务也可以利用。【参考方案2】:

如果您使用的是 XP,升级到 Vista 或 Windows 7 会有所帮助,因为它使用 WPF。可能会减少 UI 渲染的内存占用,否则必须使用兼容模式。

【讨论】:

升级到 Windows 7 会有所帮助。 Vista——没那么多。他们对 Windows 7 中图形堆栈的内存利用率进行了彻底的改进。实际上,让我们假设 Vista 从未发生过。【参考方案3】:

64 位操作系统should help you out a bit here,如果您获得超过 4GB 的物理 RAM。 64 位操作系统可以为 32 位进程提供完整的 4 GB 虚拟内存,而 32 位操作系统最多只能提供 2 或 3 GB,具体取决于您启动操作系统的方式。

话虽如此,100 个项目是一个相当大的解决方案文件。也许现在是重新审视这个决定的好时机......

编辑:按照 DEVENV.EXE 文章中的规定运行 dumpbin /headers 返回:

File Type: EXECUTABLE IMAGE

FILE HEADER VALUES
             14C machine (x86)
               4 number of sections
        4BA1FAB3 time date stamp Thu Mar 18 06:04:35 2010
               0 file pointer to symbol table
               0 number of symbols
              E0 size of optional header
             122 characteristics
                   Executable
                   Application can handle large (>2GB) addresses
                   32 bit word machine

这表明具有 > 4GB RAM 的 x64 机器可能会改善您的体验。在 64 位操作系统下,Visual Studio 的可用 VM 应该是两倍...

【讨论】:

这听起来是个不错的解决方案,而且我们肯定会朝着这条道路前进。需要注意的一件事:我关闭了 C++ 源代码的自动重新索引,这似乎有助于 CPU 利用率和内存占用。 在工具->选项->文本编辑器->C++->高级【参考方案4】:

您可以尝试使用Solution Load Manager。它可以让您将一些项目文件标记为按需加载或根本不加载。这可能会有所帮助。

【讨论】:

以上是关于Visual Studio 2010——如何减少其内存占用的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Visual Studio 2010 中添加 PNG 资源?

如何在 Visual Studio 2010 中加载 bmp 文件

visual studio 2010 序列号在哪输入

Microsoft Visual Studio 工程属性表props/vsprops创建与使用

如何在/使用 Visual Studio 2010 中为 64 位 Windows 构建 libcurl?

如何设置 Visual Studio 2010 项目来为 Slickedit 17 构建 64 位扩展 dll?