Jump to content
Sign in to follow this  
Ezdaroth

2047mb RAM limitation, possible solution

Recommended Posts

Hello, for first I'm not expert in this, so what I'm about to say might not be so simple as I think. However I think there's no harm in pointing this out and I'm seriously not trying to "teach" BI.

So, ARMA 2 is only able to use 2047mb of RAM, trying to specify higher in launch options will fall back to 2047mb.

Is there a reason for this? I wish you could take a look at this article, even tho you most likely know this: http://msdn.microsoft.com/en-us/library/bb147385(VS.85).aspx#The__LARGEADDRESSAWARE_flag just in case you could have missed that bit. From what I understand, this would allow ARMA to use more RAM, even tho it isn't build for 64-bit systems.

Edited by Ezdaroth

Share this post


Link to post
Share on other sites

That's basically it. 32 bit can't address more than ~2gb. So basically we have to wait and hope that a 64 bit patch for Arma 2 will be released (crysis64 wasn't released for a while after Crysis was released)

That said, Arma's engine isn't highly streamlined for 64 bit so it may not be easy to setup, but I hope BIS get it done eventually.

Share this post


Link to post
Share on other sites

Ok, sorry if it wasn't actually useful :P But wouldn't it still do as temporary solution? After all it just enables 32 bit applications to use more ram than 2gb.

Share this post


Link to post
Share on other sites

Yeah, not saying it's not useful, it actually should work, maybe with a few issues, but should work (just like when people rename Arma2.exe to Crysis64.exe)

Share this post


Link to post
Share on other sites

there is a workaround, you can modify the exe file at your home to access more then 2gb memory. but if you activate it in the header, then you will activate fade too, and basicly its against the EULA (pls dont send me a PM about modifying the exe, ill NOT reply, its against the EULA)

tbh with this, the "out of memory" (etc) errors should be fixed (im almost 100% sure about this). this was the fix for fsx's, gothic3's, etc out of memory errors.

Share this post


Link to post
Share on other sites
(crysis64 wasn't released for a while after Crysis was released)

I purchased Crysis 1.0 on day of release here in the US.

It had both 32 and 64 launch icons.

Share this post


Link to post
Share on other sites
Or they could build native 64bit files...

Or there is simply no benefit in compiling binaries in 64bit and then having headache maintaining two versions. There is simply no proof that Arma2 would benefit with more than 2Gb of RAM.

Share this post


Link to post
Share on other sites
That's basically it. 32 bit can't address more than ~2gb. So basically we have to wait and hope that a 64 bit patch for Arma 2 will be released (crysis64 wasn't released for a while after Crysis was released)

That said, Arma's engine isn't highly streamlined for 64 bit so it may not be easy to setup, but I hope BIS get it done eventually.

I think it is closer to 2^32 ~ 4GB is it not?

Share this post


Link to post
Share on other sites
I think it is closer to 2^32 ~ 4GB is it not?

yep, you are right.

Share this post


Link to post
Share on other sites
yep, you are right.

Actually not, 32bit windows reserves 1Gb for itself thus limiting apps to 2Gb. There is PAE /3GB switch that could be added to boot.ini that allows 3Gb of memory address space accessible to apps, but this might lead to instability and crashes.

Share this post


Link to post
Share on other sites
Actually not, 32bit windows reserves 1Gb for itself thus limiting apps to 2Gb. There is PAE /3GB switch that could be added to boot.ini that allows 3Gb of memory address space accessible to apps, but this might lead to instability and crashes.

ahm, im basicly talked about 32bit systems, not about windows.

btw, /3gb (or Physical Address Extension) just works with server editions.

http://technet.microsoft.com/en-us/library/bb124810(EXCHG.65).aspx

Before You Begin
Before you perform the procedure in this topic, be aware of the following:

The /3GB switch is supported only on the following operating systems:

Windows 2000 Advanced Server
Windows 2000 Datacenter Server
Windows Server 2003 Standard Edition
Windows Server 2003 Enterprise Edition
Windows Server 2003 Datacenter Edition

and tbh the large address blablabla, or an exe header modification can bypass that 2gb address limit on 32 bit windows system and works like a charm.

Edited by Ekre

Share this post


Link to post
Share on other sites

A 32 process has 4GB of virtual address space. If you have some documentation stating that windows only gives a 32bit process 2GB of virtual address space I would like to read it.

Share this post


Link to post
Share on other sites
A 32 process has 4GB of virtual address space. If you have some documentation stating that windows only gives a 32bit process 2GB of virtual address space I would like to read it.

http://technet.microsoft.com/en-us/library/bb124810(EXCHG.65).aspx

Windows uses a virtual address space of 4 GB, with 2 GB allocated to user-mode processes
(for example, applications) and 2 GB allocated to kernel-mode processes
(for example, the operating system and kernel-mode drivers).
On systems that have 1 GB or more of physical memory,
these two startup switches can be used to allocate more memory to applications
(3 GB) and less memory to the operating system (1 GB).
This additional virtual address space helps reduce the amount of memory
fragmentation in the virtual address space of the Exchange information store process.

this can be bypassed with an exe header modification or at the complie

Share this post


Link to post
Share on other sites
http://technet.microsoft.com/en-us/library/bb124810(EXCHG.65).aspx

Windows uses a virtual address space of 4 GB, with 2 GB allocated to user-mode processes
(for example, applications) and 2 GB allocated to kernel-mode processes
(for example, the operating system and kernel-mode drivers).
On systems that have 1 GB or more of physical memory,
these two startup switches can be used to allocate more memory to applications
(3 GB) and less memory to the operating system (1 GB).
This additional virtual address space helps reduce the amount of memory
fragmentation in the virtual address space of the Exchange information store process.

this can be bypassed with an exe header modification or at the complie

How large it the virtual address space for a 32bit process on a 64bit version of Windows?

Share this post


Link to post
Share on other sites

Ok, seems it wasn't quite as simple as "add a flag and game will perform faster". Sorry about giving such false idea :P

Share this post


Link to post
Share on other sites
ahm, im basicly talked about 32bit systems, not about windows.

btw, /3gb (or Physical Address Extension) just works with server editions.

and tbh the large address blablabla, or an exe header modification can bypass that 2gb address limit on 32 bit windows system and works like a charm.

This info is outdated, I know because I did run XP 32bit past SP2 with PAE enabled:

http://technet.microsoft.com/en-us/sysinternals/bb963892.aspx

/3GB

Increases the size of the user process address space from 2 GB to 3 GB (and therefore reduces the size of system space from 2 GB to 1 GB). Giving virtual-memory- intensive applications such as database servers a larger address space can improve their performance. For an application to take advantage of this feature, however, two additional conditions must be met: the system must be running Windows XP, Windows Server 2003, Windows NT 4 Enterprise Edition, Windows 2000 Advanced Server or Datacenter Server and the application .exe must be flagged as a 3-GB-aware application. Applies to 32-bit systems only.

Share this post


Link to post
Share on other sites
I should spend more time reading about windows and less time masturbating.

:D LOL mate!

Share this post


Link to post
Share on other sites
Guest
I should spend more time reading about windows and less time masturbating.

Find someone to do it for you (not the reading :p ), than you can have both.

Interesting read though. I am still (and probably will be for some time) on my XP 32 bit, but articles like these are always interesting to read.

Share this post


Link to post
Share on other sites

Interesting read though. I am still (and probably will be for some time) on my XP 32 bit, but articles like these are always interesting to read.

I'm with ya on XP - when they drop DX9 and XP support in games then I'll move over. So far DX10, 10.1 don't have anything exciting.

The thing is, PAE /3GB switch only helps with exe modded header that tells OS it's 3GB aware. I know some time ago some folks modded gothic3.exe header. Without it it's pretty much worthless.

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×