Visual Studio 2010 -- how to reduce its memory footprint

13,024

Solution 1

You can try using the Solution Load Manager. It'll let you mark some of the projects files as load on demand or not load at all. That may help.

Solution 2

A 64-bit OS should help you out a bit here, if you get more than 4GB of physical RAM. A 64-bit OS can provide 32-bit processes with a full 4 GB of virtual memory, whereas a 32-bit OS only can provide 2 or 3 gigs at best, depending on how you boot the OS.

That being said, 100 projects is a pretty fat solution file. Maybe now would be a good time to reexamine that decision...

EDIT: Running dumpbin /headers as prescribed in the article for DEVENV.EXE returns:

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

So that would indicate that an x64 box with > 4GB of RAM will probably improve your experience. You should have up to twice as much VM available for Visual Studio under a 64-bit OS...

Solution 3

The best thing you can do is to split up your solution. Visual Studio wasn't meant to handle so many projects in the same solution and does suffer performance problems as a result. Splitting up your solution into 5 different ones will make things better.

Solution 4

If you're on XP, upgrading to Vista or Windows 7 will help as it uses WPF. May reduce the memory footprint of the UI rendering which would otherwise have to use compatibility mode.

Share:
13,024
GregC
Author by

GregC

Careers 2.0: http://careers.stackoverflow.com/gchernis LinkedIn: http://www.linkedin.com/in/gchernis

Updated on June 19, 2022

Comments

  • GregC
    GregC almost 2 years

    I have a solution with just under 100 projects in it, a mix of C++ and C# (mostly C#). When working in VS2005, the working set of Visual Studio is considerably smaller than that of VS2010.

    I was wondering if there are some things that can be turned off, so I can develop in VS2010 under 32-bit OS without running out of memory.

  • Dave Markle
    Dave Markle almost 14 years
    Not true re: the OS. A 64-bit OS can in fact give 32-bit processes much more VM than a 32-bit process can. blogs.technet.com/b/markrussinovich/archive/2008/11/17/…
  • Dave Markle
    Dave Markle almost 14 years
    Upgrading to Windows 7 will help. Vista -- not so much. They made radical improvements to the memory utilization of the graphics stack in Windows 7. Actually, let's just pretend Vista never happened.
  • JaredPar
    JaredPar almost 14 years
    @Dave it's true that an application designed to take advantage can. I do not believe Visual Studio does this.
  • Dave Markle
    Dave Markle almost 14 years
    @Jared: Just to check, I ran dumpbin /headers on devenv.exe, and confirmed that Visual Studio can access > 2GB, since the "Application can handle large (>2GB) addresses" flag is set.
  • JaredPar
    JaredPar almost 14 years
    @Dave, learn something new every day :). I'll edit my answer.
  • Dave Markle
    Dave Markle almost 14 years
    @Jared: That's why I love SO!
  • GregC
    GregC over 13 years
    This sounds like a good solution, and we're definitely headed down that path. One thing to note: I turned off automatic reindexing of C++ source code, and that seemed to help with CPU utilization as well as memory footprint.
  • GregC
    GregC over 13 years
    Under tools->options->Text Editors->C++ -> Advanced
  • GregC
    GregC over 13 years
    Just FYI, SQL management stusio and SQL instance services can take advantage too.