Page 1 of 2

3GB switch for Win XP 32

Posted: Fri Oct 08, 2010 10:17 pm
by CheeseRedux
Has anyone here had any dealings with this thing?

By way of a couple of side roads, I came across this post detailing how to get your XP to allocate more memory for applications that can use it.
Apparently it will also work on systems with less than 3GB of RAM (like my 2GB laptop), utilizing your hard drive space.


[Moderators: I stuck this in Outworld since its not Oolite related as such. If you think it belongs somewhere else, move as you see fit.]

Posted: Fri Oct 08, 2010 10:31 pm
by DaddyHoggy
I'm going to be unusually pedantic - Gb = Gigabit, GB = Gigabyte

Posted: Fri Oct 08, 2010 10:33 pm
by CheeseRedux
DaddyHoggy wrote:
I'm going to be unusually pedantic - Gb = Gigabit, GB = Gigabyte
Fixed! :oops:

Posted: Sat Oct 09, 2010 12:12 am
by Darkbee
It seems like this "3GB" switch is for "extreme gaming", or if you're using your computer to render the next Pixar movie. If you don't really need it, probably best to leave well alone lest you rip a dirty great big hole in the Space-Time Continuum.

Posted: Sat Oct 09, 2010 12:46 pm
by CheeseRedux
Well, the post was on a Civilization forum; not what I would normally consider "extreme gaming".
I seem to remember a discussion a long time ago about memory leaks in Oolite. I don't know if it's related at all, but Oolite will reliably do a CTD on my system on prolonged sessions. (When testing OSE, I could only fly around for a minute or so before the game gave up the ghost. I took it as an indication there was far too much going on simultaneously for my system to handle.)

As the /3GB has its own little section on Micro$oft's own official technical help pages, it's not like it's something someone did in a backyard chopshop.
Original question still remains though: Anyone with any experience on this thing?

Posted: Sat Oct 09, 2010 1:03 pm
by DaddyHoggy
I asked my boss (because I know he has) and this is what he said:

In addition to booting with the /3GB switch, Microsoft also say this:

Executables that can use the 3-GB address space are required to have the bit IMAGE_FILE_LARGE_ADDRESS_AWARE set in their image header. If you are the developer of the executable, you can specify a linker flag (/LARGEADDRESSAWARE).

To set this bit, you must use Microsoft Visual Studio Version 6.0 or later and the Editbin.exe utility, which has the ability to modify the image header (/LARGEADDRESSAWARE) flag. For more information on setting this flag, see the Microsoft Visual Studio documentation.



So in other words, an application may or may not come with that bit pre-set. If it doesn't (and the implication is that most don't) then simply setting the /3GB switch may not achieve anything without the bit flipped in the header.

Although since the /3GB switch (as I understand it) reduces the amount of memory space allocated to the windows kernel, in favour of allocating it to user space instead, then that could have all sorts of knocks ons for system DLLs.

Hence (again from MSDN):

On Windows XP, some drivers, especially video adapter drivers with onboard RAM, cannot run with the /3GB parameter because they require more address space than the 1 GB kernel address space permits.

At which point you then have to also start playing with the additional

/userva=SizeInMB

command, which basically allows you to tune between the default 2 GB user space and the maximum 3 given by the /3GB switch

***

He's tried it because he builds a lot of Terrains in TerraVista and it needs as much memory as it can get - which is why his new work laptop as Win7 and 12GB of memory...

Posted: Sat Oct 09, 2010 1:52 pm
by Killer Wolf
i really wish you'd stop mentioning stuff about your work, DH, i get soooooo fricking jealous....
if you get any vacancies involving Photoshop, PM me! lol.

Posted: Sat Oct 09, 2010 2:12 pm
by maik
DaddyHoggy wrote:
which is why his new work laptop as Win7 and 12GB of memory...
*sigh*

Just yesterday I learned from the data centre(!) guys of a client that they have trouble getting servers(!) with more than 8GB of memory configured for various phony VM related reasons.

Posted: Sat Oct 09, 2010 4:28 pm
by CheeseRedux
DaddyHoggy wrote:
I asked my boss (because I know he has) and this is what he said:

[snip]

So in other words, an application may or may not come with that bit pre-set. If it doesn't (and the implication is that most don't) then simply setting the /3GB switch may not achieve anything without the bit flipped in the header.

Although since the /3GB switch (as I understand it) reduces the amount of memory space allocated to the windows kernel, in favour of allocating it to user space instead, then that could have all sorts of knocks ons for system DLLs.

[snip]

/userva=SizeInMB
Now why are you talking to your boss on a Saturday?!?


The whole setting of bits thing was news to me - and quite frankly a bit over my head. Is there any reason why this isn't done as a matter of course? From my non-technical perspective I can see no reason to not allow your program to use more memory if available.


About video cards and DLLs and such: Yes, that seems to be a common thing. My little research seems to indicate /userva values of 2800 or 2900 to be most widely used.


Thanks for the info. Brings a little more clarity in the muddled waters.

Posted: Sun Oct 10, 2010 12:13 am
by DaddyHoggy
CheeseRedux wrote:

Now why are you talking to your boss on a Saturday?!?
Because we're "salaried" - paid to do a job - work doesn't care how long it takes to do - and hence - for a course that starts on Monday we're still tickling lectures in to shape (take this as a word of caution to those who want a slice of my job!)

Posted: Sun Oct 10, 2010 1:54 am
by Darkbee
If an application has a memory leak, it doesn't matter how much RAM you have, you're going to run out sooner or later. :)

Seriously though, you need this option for Oolite? :S Maybe if you're running AutoCAD at the same time I could see that.

Posted: Sun Oct 10, 2010 7:34 am
by Killer Wolf
DaddyHoggy wrote:
CheeseRedux wrote:

Now why are you talking to your boss on a Saturday?!?
Because we're "salaried" - paid to do a job - work doesn't care how long it takes to do - and hence - for a course that starts on Monday we're still tickling lectures in to shape (take this as a word of caution to those who want a slice of my job!)
kinda seems a small price to pay to get a job that has multicreen war simulators and jobs building terrains and the like.

Posted: Sun Oct 10, 2010 9:15 am
by DaddyHoggy
Killer Wolf wrote:
DaddyHoggy wrote:
CheeseRedux wrote:

Now why are you talking to your boss on a Saturday?!?
Because we're "salaried" - paid to do a job - work doesn't care how long it takes to do - and hence - for a course that starts on Monday we're still tickling lectures in to shape (take this as a word of caution to those who want a slice of my job!)
kinda seems a small price to pay to get a job that has multicreen war simulators and jobs building terrains and the like.
Yup. :wink:

Posted: Sun Oct 10, 2010 12:03 pm
by CheeseRedux
Darkbee wrote:
Seriously though, you need this option for Oolite? :S Maybe if you're running AutoCAD at the same time I could see that.
Now who said anything about needing it for Oolite? :wink:
(The only thing I routinely run parallel with Oo is iTunes.)

There are other, more memory hungry things out there that I occasionally partake in.

And with me being unaware of the whole /3GB switch thing until very recently (roughly half an hour before I made the OP), there's a fair chance I wasn't alone. So the question was asked at least partly for the edumification of all.

Posted: Sun Oct 10, 2010 3:21 pm
by Darkbee
That's fair enough, and I wasn't aware of it either until you posted so you edumified me. :shock:

It's just as the designated family technical support guy, I routinely tell other family members that unless you know what you're doing or have a damn good reason for doing so, never mess with system settings.

Sorry Son, I didn't mean to take away your toys. :oops: