verify if largeAddressAware is in effect?
I followed the steps in:
http://lennybacon.com/2010/10/18/UltimateGuideToSpeedUpVisualStudio.aspx
to make my Visual Studio 2010 faster, including the advice toward the bottom labeled "64 bit support" about running edit开发者_如何学JAVAbin /largeaddressaware deveenv.exe
. Is there any way I can verify that this command "worked"?
Yes there is, and the necessary tool is included with VS.
Open the "Visual Studio Command Prompt (2010)" console from the start menu, and CD into C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE
(adjust for your own system if you have changed the installation directory or run 64-bit Windows).
Then do:
dumpbin /headers devenv.exe | more
The start of the output on my machine is:
Dump of file devenv.exe
PE signature found
File Type: EXECUTABLE IMAGE
FILE HEADER VALUES
14C machine (x86)
4 number of sections
4BA1FAB3 time date stamp Thu Mar 18 12: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
The second to last line is what you are looking for -- if it's there, your executable is large address aware.
Since I didn't want to install a 1.6 GB heavy add-on to visual studio, I figured an alternative way.
You can upload the .exe onto www.virustotal.com, then under details you can see this near the bottom
ImageFileCharacteristicsExecutable, Large address aware
As the article below states, Open Task Manager and verify the the memory in use by the devenv is more than 2 GB.
Hacking Visual Studio to Use More Than 2Gigabytes of Memory
VMMap shows the effect of this, especially useful if your running program isn't necessarily using very much memory yet.
Just select the running process in VMMap and it will show a breakdown of the memory being used. There is an overall summary which includes the total memory used and free memory available, the latter of which is directly affected by the
largeaddressaware
setting.
For an EXE that I tried this on recently...
Here's the unmodified EXE (see the FREE line):
And after turning the flag on:
That seems to confirm that at least its being recognized by Windows.
That text is at the roughly middle left in the screenshot from the VMMap site:
精彩评论