Hi great collection of info on your site, best I have found yet.
Having said that I am still struggling to understand some points concerning Windows use of large amounts of Ram.
Amd 64 x2 4400
Asus Mn2-e MB
3 Gig corsair value ram
I upped my ram from 1 to 3 Gigs today and I am busy seeing how my programs/games run. I have found a few strange things.
I set up a Ram drive of 128 megs and set variables for the temp directory there, I also assigned the Pagefile to it, set to min 32 max 100.
I have the /3gb and /userva2900 set in the Boot.ini,
I fired up 3 heavy memory using games that each use more than 1 GB of memory. Windows task manager reports that I am using up to 1.5 GB on the pagefile as does the Rivatuner monitor.
This cannot be true as there are no Pagefile.sys files on any drive except the Ramdrive, Memory use is reported as 1.5 GB as well. all three games are in memory as I can alt tab between them with no delay.
The Ramdrive pagefile expands to 96mb.
I took the total memory reported to over 3 Gb so something is screwy here.
Any ideas what is happening here?
Even running a small program or even just the desktop I still see over 300 MB on the pagefile in Task manager.
The system responds well and boots quickly, so there are no adverse effects from my unconventional setup.
Really I would just like to know what is happening.
Hope you can enlighten me.
Always nice with extra RAM, and I must admit you have gone through many hoops to create your unconventional setup:
Boot.ini 3GB is intended to be used on server-editions of the Windows-OS. It allows user-applications to use up to 3 GByte of user-space, while limiting the kernel space to 1 GByte. Only applications written to handle 3 GByte can make use of it (Ex. MS Exchange or MS SQL). When the setting is used on a non-server version of Windows (like XP) then it just limits the kernel space to 1 GByte and leaves the user-space at 2 GByte.
Placing the pagefile on a RAM-disk is pretty much the same as having disabled the page-file, which again can cause more trouble than it is worth.
The Window Task Manager uses some misleading names for its graphs and numbers. Page File Usage (XP) is the same as Mem Usage (Win2k) and means the total amount of virtual address space allocated by all user processes and the operating system. The pagefile is the backing store for the virtual addresse space, so incase it has to page everything to disk then this number is the amount of space it would need.
You can use the utility WinXP-2K_Pagefile.zip to see how much of the pagefile is being currently used.
Thanks for the fast response.
Interesting info that explains a lot!
I downloaded the pagefile viewer and it tells me I am currently using 24 megs of the 32 meg pagefile set on the ramdrive, I now have it at min 32 max 300.
So disabling the swapfile will mean that normal programs/games etc will use ram up to 2 gig then run out.
Can they use virtual memory beyond 2 gig or is that limit combined ram and virtual?
I have used a batch file to set the largeaddressaware in the game header which seems to let enabled games break the 2 gig, Is this actually working or am I misreading the monitors.
Here is the batch file contents, Note it is currently set to modify Supremecommander but I have successfully added the setting to other memory intensive games.
Sorry for the long post.
choice /n /c:arvde Choose (A) to Add, (R) to Remove, (V) to View current header, (D) for directions, or (E) to exit program:
REM check for file
IF NOT EXIST supremecommander.exe goto exitout
if errorlevel 5 exit
if errorlevel 4 goto directions
if not errorlevel 4 if errorlevel 3 goto view
if not errorlevel 3 if errorlevel 2 goto remove
if not errorlevel 2 if errorlevel 1 goto add
echo This allows you to alter the header of the executable to allow supcom to address more than 2GB of RAM.
echo Add – adds the functionality
echo Remove – removes the functionality (or use a backed up original supremecommander.exe)
echo View – dumps the headers of the executable. When viewing the dump scroll all the way up
echo and look for the line that says “Application can handle large (>2GB) addresses”.
echo This means the application can now address more than 2GB and it is enabled.
echo *Remember to edit your boot.ini to add the /3GB switch allowing XP to use 3GB for applications.
dumpbin /headers supremecommander.exe
echo Scroll to the top and look for section “FILE HEADER VALUES”.
echo Then look for a line in that section that says “Application can handle large (>2GB) addresses”.
echo If you see that line then the executable is enabled to handle greater than 2GB, you are done.
editbin /LARGEADDRESSAWARE:no supremecommander.exe
echo Large Address Aware has been removed.
editbin /LARGEADDRESSAWARE supremecommander.exe
echo Large Address Aware has been enabled.
echo The supremecommander.exe has not been copied to this folder.
echo Press any key to exit.
pause > nul
Just a side note!
I have setup firefox to use the ramdrive for its cache and also the temp directory, both are working fine but i haven’t really had time to see if it effects perceived performance. Do you think it is beneficial? And finally are there any further uses for the 300 meg drive that will help Xp.
Each user-process (like a game) can use 2 GByte, so if running 5 games then they can use 10 GByte of RAM together. This 2 GByte limitation is the reason for the move to 64 bit hardware and operating system (Especially for database applications like MS SQL).
When the application (like Supreme Commander) was developed and tested, then it created to be a 32 bit proces. So the developers intended that the proces should only have access to 2 GByte of RAM. If you were able to extend the virtual address space for the application, then you might run into trouble incase the applications performs dangerous pointer calculations where pointer adresses was expected to be within the 2 GByte.
Firefox already have an in memory cache of the recently viewed web-pages. So I would probably just leave it to firefox to handle the caching, or configure the caching through firefox instead of creating a RAM-disk.
My temporary directory many times contains more than 1 Gigabyte of data, so if I was to use a RAM-disk, then it would be a bad tradeoff. If an application was so badly written that it required caching of the temporary directory to perform properly, then I would probably try to exchange the application before trying to create a RAM-disk for my temp directory.
Each user-process (like a game) can use 2 GByte, so if running 5 games then they can use 10 GByte of RAM together.
Aaah now it gets clearer, thanks for explaining that. So if the system is using lets say 400 megs when I boot the game up then It will still have 2 Gigs available.
I like tinkering around with settings and tweaking in general (more so than actually playing the games) I will leave the Ramdrive as is for a while till I get bored then go back to default. , I also overclock and watercool but same thing I usually set back to default once I have seen what the system can handle.
Thanks again for clear answers. “Ill be back”
Glad I was able to clear out some of your questions. You are very welcome to ask again if new questions pops up, though i cannot promise that I always have the answers
Comments are closed.