Discussion Forums > Technology
is there a preformance hit in win32 for ram hotfix
Freedom Kira:
Hmm, not quite the idea of "reserved" I had in mind. I would treat any kind of hardware reservation of memory to be "reserved memory," like what Windows 7 often does, supposedly to share with the graphics processor. Memory used by the kernel is still memory used by Windows, after all.
Pentium100:
--- Quote from: rkruger on March 01, 2012, 04:05:23 PM ---Also, modern versions of the Windows kernel can handle more memory on x86 platforms, as Pentium100 said, due to PAE support. However, Microsoft restricts certain versions of Windows to 4GB due to "licensing issues". But even with PAE, a single process can only access up to 4GB minus "reserved" memory..
--- End quote ---
With PAE and AWE, a single process can access as much as it wants, but only 4GB at a time. Basically, it can reserve more memory and then as the OS to map part of it to its address space.
This is similar to the way EMS works. You can have, say, 4MB of EMS memory, but only 64KB is accessible at a time. So, when the program is done with it, it requests DOS (and in turn, the EMS driver) to map the next 64KB to that address space.
Servers started having more than 4GB of RAM before x86_64 was released. My 32bit server can have up to 16GB RAM. Windows Server 2000, 2003 and 2008 (there is no 2000 x86_64) all support more than 4GB on a 32bit system.
rkruger:
--- Quote from: Pentium100 on March 02, 2012, 03:09:08 AM ---
--- Quote from: rkruger on March 01, 2012, 04:05:23 PM ---Also, modern versions of the Windows kernel can handle more memory on x86 platforms, as Pentium100 said, due to PAE support. However, Microsoft restricts certain versions of Windows to 4GB due to "licensing issues". But even with PAE, a single process can only access up to 4GB minus "reserved" memory..
--- End quote ---
With PAE and AWE, a single process can access as much as it wants, but only 4GB at a time. Basically, it can reserve more memory and then as the OS to map part of it to its address space.
--- End quote ---
Ok, I was not really aware of the features AWE provided.
Still, it's up to the application/game designers to make use of this feature. There is no magical patch to let an arbitrary program allocate beyond 4GB of memory on a 32-bit system.
Bob2004:
My understanding is as follows: 32bit Windows can only use up to 4GB of memory (rounded up), without using PAE. Individual applications in 32-bit Windows (at least in consumer versions - XP, Vista, 7) can only use up to 2GB each, unless the "Large Address Aware" flag is specifically enabled at compile-time by the developer, in which that process can use up to 4GB.
Servers and Linux are obviously different - servers usually have PAE enabled, which isn't necessarily available in consumer versions of windows, and the 2GB limit per process is probably lifted as well. There are often patches or similar available for Linux to enable PAE or some equivalent, and I'm fairly sure the 2GB per process limit is a Windows thing.
Either way, Windows can always use more than 1.6GB of RAM, as can applications, so I honestly have no idea what the OP's problem is, or what exactly he's trying to ask.
EDIT: Did a quick bit of research, and here is a good, detailed explanation of the 4GB memory limit in Windows, why it's there, and how to patch it out of Windows Vista (though I strongly recommend not doing that unless you know exactly what you're doing - it requires modifying the Windows kernel, which is complicated and will void your warranty/license). There are definitely premade patches available for Vista and 7 (not going to post them though since it's still fairly advanced, still voids your warranty, and is generally not recommended by anyone), but I didn't find any for XP in my 2 minutes of looking.
Pentium100:
--- Quote from: rkruger on March 02, 2012, 05:38:36 PM ---Ok, I was not really aware of the features AWE provided.
Still, it's up to the application/game designers to make use of this feature. There is no magical patch to let an arbitrary program allocate beyond 4GB of memory on a 32-bit system.
--- End quote ---
However, it would be possible to run more programs, even if each program can only use 2GB, unless it was written to use AWE.
Navigation
[0] Message Index
[*] Previous page
Go to full version