Visual Studio 2010 -- how to reduce its memory footprint
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.
GregC
Careers 2.0: http://careers.stackoverflow.com/gchernis LinkedIn: http://www.linkedin.com/in/gchernis
Updated on June 19, 2022Comments
-
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 almost 14 yearsNot 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 almost 14 yearsUpgrading 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 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 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 almost 14 years@Dave, learn something new every day :). I'll edit my answer.
-
Dave Markle almost 14 years@Jared: That's why I love SO!
-
GregC over 13 yearsThis 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 over 13 yearsUnder tools->options->Text Editors->C++ -> Advanced
-
GregC over 13 yearsJust FYI, SQL management stusio and SQL instance services can take advantage too.