Personal computing discussed

Moderators: renee, mac_h8r1, Nemesis

  • 1
  • 2
  • 3
  • 4
  • 5
  • 9
 
bitvector
Grand Gerbil Poohbah
Topic Author
Posts: 3293
Joined: Wed Jun 22, 2005 4:39 pm
Location: San Francisco, CA

Dude, where's my 4GB?

Sat Jul 14, 2007 6:09 pm

"OMG, I installed 4GB of RAM and my OS only sees 3.3GB, even though the BIOS counts to 4GB. Clearly I need 64-bits/PAE/a different OS/moon rocks/etc."

So, I see this question recur again and again on tech sites, and most of the explanations and responses I see make me want to yell at the screen in rage. I wrote this explanation up for another message board but decided not to post it because the comments were so off the mark (e.g. "why doesn't my motherboard have the PAE?") that I'm afraid it wouldn't make any difference. But I thought I'd post it here and maybe we can get a sticky going since it comes up a bunch. Other TR members have also provided detailed info before, but I figured why waste it.

There are really four key points to whether you can "use" 4GB, but the physical addressing one is generally the problem people run into:

* density support
* physical address lines
* physical addressing/e820 map support
* virtual addressing support

The 4GB limitation in virtual addressing has to do with a single application rather than an OS and is a well known issue (you can get around virtual addressing limitations with tricks like Windows's Address Windowing Extensions, but these are ugly and rarely used), so let's not discuss it again. It's not the problem with whether your OS can see xGB of RAM.

Density support is a question of whether the memory controller supports large enough DIMMS/SODIMMS/etc. to actually put 4GB in the system. This is not likely to be an issue these days. The second bullet-point is a physical limitation of some motherboards. Since the Pentium Pro days, most x86 CPUs have had 36-bits of address lines, but sometimes manufacturers leave the top 4 (or more) bits unconnected to save power or money.

The real problem is typically related to addressing of physical memory: if this limitation isn't handled, you still won't be able to use more than 3-3.5GB even on a 64-bit OS. As people are well aware, the 3GB-4GB physical addresses are generally used for memory mapped device addresses (to PCI/AGP/PCI-E devices) and other miscellaneous cruft. So what the system can do is simply remap part of the physical memory from the contiguous range 0-4GB into a split range like 0-3GB, 4GB-5GB, leaving the 3-4GB range to be polluted by device addresses (see the diagram here for a picture). Now for the OS to work with this is must be able to address > 4GB of physical memory. A 64-bit OS can do this, but a 32-bit OS with PAE/PSE-36 can also address >4GB of physical memory. This is where even the long explanation from Dan's Data is wrong (he says, "there is no way to make all of the RAM between 3Gb and 4Gb available without installing a 64-bit OS, which you can't do unless you have a 64-bit CPU" -- and of course, many people have used 32-bit OSs with PAE for years).

Really that's the key: if the system BIOS can only set up the E820 memory map so that physical memory addresses are 0-4GB, you're hosed. If it can set it up in a "split" manner, leaving a hole for the occluded addresses, you're good (as long as you have an OS that can address > 4GB physical addresses -- 64-bit or 32-bit with PAE). Here's an example of the E820 memory map from a system I use:
BIOS-provided physical RAM map:
BIOS-e820: 0000000000000000 - 0000000000097400 (usable)
BIOS-e820: 0000000000097400 - 00000000000a0000 (reserved)
BIOS-e820: 00000000000c2000 - 0000000000100000 (reserved)
BIOS-e820: 0000000000100000 - 000000007ff20000 (usable)
BIOS-e820: 000000007ff20000 - 000000007ff2d000 (ACPI data)
BIOS-e820: 000000007ff2d000 - 000000007ff80000 (ACPI NVS)
BIOS-e820: 000000007ff80000 - 0000000080000000 (reserved)
BIOS-e820: 00000000e0000000 - 00000000f0000000 (reserved)
BIOS-e820: 00000000fec00000 - 00000000fec00400 (reserved)
BIOS-e820: 00000000fee00000 - 00000000fee01000 (reserved)
BIOS-e820: 00000000fff80000 - 0000000100000000 (reserved)
BIOS-e820: 0000000100000000 - 0000000180000000 (usable)

The "usable" ranges are usable physical memory. In this case, we have the first 605K of 1MB, then the range 1MB-2047MB is usable physical memory, then various addresses from 2047MB until 4096MB are reserved for ACPI/PCI/etc. Now, 4096MB-6144MB is the remaining 2GB of memory. So here you've got a big 2GB hole between the physical addresses of your first 2GB and your second 2GB of physical RAM.

So typically you need a chipset supporting this memory "hole"/"hoisting." If your motherboard has that but doesn't actually allow you to enable it, it may be because they didn't bother connecting enough address lines to the memory controller.
 
heruur
Gerbil Elite
Posts: 935
Joined: Mon May 14, 2007 7:26 pm
Location: City 17
Contact:

Sat Jul 14, 2007 6:23 pm

:o
 
morphine
TR Staff
Posts: 11600
Joined: Fri Dec 27, 2002 8:51 pm
Location: Portugal (that's next to Spain)

Sat Jul 14, 2007 7:37 pm

Most recent boards have a "Remap memory above 4GB" or some other option.
 
BIF
Minister of Gerbil Affairs
Posts: 2458
Joined: Tue May 25, 2004 7:41 pm

Sat Jul 14, 2007 10:22 pm

heruur wrote:
:o


Yeah, me too. I get it, but that's because I already understand the issue, at slightly more than a layman's level. I think the comments, though great, were still written over the typical newb's head. And this is part of the industry's problem, and is a major factor behind this expression from newbs (and sometimes non-newbs):

:o

And what, no commentary on the size of a "word" of data, and how that has changed from 8-bit to 16-bit, to 31/32-bit, to 64-bit, and how that relates to memory addressibility?

The conversation has to be boiled down to "simple-simon" terms. Think big huge toy blocks with letters on the sides. We all still understand toy blocks and the alphabet, yes?
 
ShadowEyez
Gerbil XP
Posts: 348
Joined: Wed Dec 03, 2003 12:31 pm

Sat Jul 14, 2007 11:27 pm

Or you can go 64-bit
The finest tools are forged from the hottest fires
 
bitvector
Grand Gerbil Poohbah
Topic Author
Posts: 3293
Joined: Wed Jun 22, 2005 4:39 pm
Location: San Francisco, CA

Sat Jul 14, 2007 11:36 pm

ShadowEyez wrote:
Or you can go 64-bit

Doh. I guess I didn't really explain it clearly because what should be gleaned from the above information is that a 64-bit OS does not solve the problem. If you don't have the "remap about 4GB" or "hoisting" or whatever they decide to call it, even a 64-bit OS will be limited to the same 3/3.3/3.5GB you see normally.

In short, running a 64-bit OS is neither necessary nor sufficient to use all 4GB of memory. Generally, what you need is two things:
* BIOS support for memory hoisting so that part of your physical memory addresses are moved out of the way of device addresses.
* An OS that can address > 32-bit physical addresses (64-bit OSs work but so do 32-bit OSs with PAE).
 
JJCDAD
Gerbil Jedi
Posts: 1867
Joined: Fri Sep 17, 2004 3:11 pm
Location: Is this heaven? No, it's Iowa.
Contact:

Sun Jul 15, 2007 1:11 am

@bitvector - thank you for trying to explain the issue in 'simple-simon terms' for this 'newb'. I do think I am much closer to understanding the issue.

@BIF - your comments added nothing to my understanding and make you look rather pompous.
 
BIF
Minister of Gerbil Affairs
Posts: 2458
Joined: Tue May 25, 2004 7:41 pm

Sun Jul 15, 2007 9:06 am

Hi, JJ:

I certainly was NOT trying to be pompous, and I apologize if that's how I came across.

My point to Bitvector was that there's a problem in this industry. A problem of education and understanding. I am increasingly seeing this happen...people who DO understand the issue cannot explain it to the level of people who do NOT understand the issue.

If I were a newbie, I would not have understood Bitvector's exhaustive explanation.

Hence, my comment about toy blocks. Technically oriented people must learn how to SIMPLIFY their explanations even further, like the "For Dummies" style that those books are written in.

If technical people cannot explain what they understand so well, then an actual conversation cannot take place, and they might as well be speaking Klingon.

Just for you, here's the link to another exhaustive article, this one on Wikepedia. But I must caution you, while it is well-written, I believe this article is also "too technical" for people trying to get their heads areound the subject for the first time.

Maybe I'm "off topic" by saying that our explanations are too complex. If so, I'm sorry. But at the same time, I'm not sure I can break it down to toy-block level, otherwise I would. :-?
 
derFunkenstein
Gerbil God
Posts: 25427
Joined: Fri Feb 21, 2003 9:13 pm
Location: Comin' to you directly from the Mothership

Sun Jul 15, 2007 9:31 am

I've got 3GB in my system and the OS doesn't quite see all of it (neither did the BIOS at first; then I enabled the memory remap feature). Then I came across this thread and changed the setting in the BIOS. Now Vista goes from seeing 3007MB of memory to 2047 (?!). I did a little more digging and then I found this:

http://support.microsoft.com/kb/929605

WORKAROUND
For Windows Vista to use all 4 GB of memory on a computer that has 4 GB of memory installed, the computer must meet the following requirements:
• The chipset must support at least 8 GB of address space. Chipsets that have this capability include the following:
• Intel 975X
• Intel P965
• Intel 955X on Socket 775
• Chipsets that support AMD processors that use socket F, socket 940, socket 939, or socket AM2. These chipsets include any AMD socket and CPU combination in which the memory controller resides in the CPU.
• The CPU must support the x64 instruction set. The AMD64 CPU and the Intel EM64T CPU support this instruction set.
• The BIOS must support the memory remapping feature. The memory remapping feature allows for the segment of system memory that was previously overwritten by the Peripheral Component Interconnect (PCI) configuration space to be remapped above the 4 GB address line. This feature must be enabled in the BIOS configuration utility on the computer. View your computer product documentation for instructions that explain how to enable this feature. Many consumer-oriented computers may not support the memory remapping feature. No standard terminology is used in documentation or in BIOS configuration utilities for this feature. Therefore, you may have to read the descriptions of the various BIOS configuration settings that are available to determine whether any of the settings enable the memory remapping feature.
• An x64 (64-bit) version of Windows Vista must be used.


So that last item on the list must be why the OS still doesn't use it all. Interestingly enough (to me), the BIOS does report 3072MB, representing the first time the OS and the POST screen disagree.

I also found this article about enabling PAE (which my CPU supports according to CPU-Z) and while I ran the cmd prompt as admin and entered the command line, and the message returned was "The operation completed successfully" I'm still seeing only 2047. I turned off the memory remap again and now I'm back to 3007. That's close enough to the full 3GB that I'm not going to spend the $20 or whatever Microsoft wants for a 64-bit version of the media that I already paid for (bought Home Premium academic version at the campus bookstore thinking it'd have both 32 and 64-bit binaries...oops)
Last edited by derFunkenstein on Sun Jul 15, 2007 9:37 am, edited 1 time in total.
I do not understand what I do. For what I want to do I do not do, but what I hate I do.
Twittering away the day at @TVsBen
 
ShadowEyez
Gerbil XP
Posts: 348
Joined: Wed Dec 03, 2003 12:31 pm

Sun Jul 15, 2007 9:36 am

bitvector wrote:
ShadowEyez wrote:
Or you can go 64-bit

Doh. I guess I didn't really explain it clearly because what should be gleaned from the above information is that a 64-bit OS does not solve the problem. If you don't have the "remap about 4GB" or "hoisting" or whatever they decide to call it, even a 64-bit OS will be limited to the same 3/3.3/3.5GB you see normally.

In short, running a 64-bit OS is neither necessary nor sufficient to use all 4GB of memory. Generally, what you need is two things:
* BIOS support for memory hoisting so that part of your physical memory addresses are moved out of the way of device addresses.
* An OS that can address > 32-bit physical addresses (64-bit OSs work but so do 32-bit OSs with PAE).


Most motherboards that support 64-bit CPU's do have support for memory address remapping, as Intel and other tech company engineers saw this coming years ago. As for PAE, while I have never personally used it, I have heard because of the way it maps virtual memory (a sort of 36 bit -> 32 bit memory address converter) it runs very slow. Most servers with high memory requirements and applications are running on true 64-bit hardware, and hopefully in a few years, most consumer hardware will be the same.

With that said, I have both 64-bit and 32-bit hardware, and I don't think having only 32-bit is a real hindrance (at least for now) - though I have not played all the way through supreme commander yet - see http://www.anandtech.com/gadgets/showdoc.aspx?i=3034
The finest tools are forged from the hottest fires
 
JJCDAD
Gerbil Jedi
Posts: 1867
Joined: Fri Sep 17, 2004 3:11 pm
Location: Is this heaven? No, it's Iowa.
Contact:

Sun Jul 15, 2007 9:42 am

Ok. Cool. I see what you're getting at. I too think that the industry needs to do a better job of helping non technical users understand the issue. I can't count the number of posts, on TR and elsewhere, where people are asking this question. I think bitvector's idea of making a sticky is great. We just need to do a little better job of breaking it down in terms anyone can understand.
I'll do some more study and see what I can come up with. I'll come back to thread and ask some dumb questions (probably). Hopefully, in the end, we'll create a concise list of facts that can be stickied and referred to whenever this question is asked.
 
FubbHead
Grand Gerbil Poohbah
Posts: 3482
Joined: Mon Apr 08, 2002 9:04 pm
Location: Borås, Sweden

Sun Jul 15, 2007 10:05 am

Hmm.. I'm getting flashbacks from the old DOS real vs. extended memory thing here, just that this time ~3GB was considered to be "enough for everyone". Kind of, anyway. You'd think they would've seen it coming from faaaar away, and make the PCI standard a bit more flexible in that regard. Not that I'm an engineer myself. :-)

By the way, how does PCI-express fit into this? Do their mapped addresses also have to be at that specific location?
Amiga 1200, 68020@28MHz, 4MB+2MB RAM, Conner 80MB harddrive
 
titan
Grand Gerbil Poohbah
Posts: 3376
Joined: Mon Feb 18, 2002 7:00 pm
Location: Great Smoky Mountains
Contact:

Re: Dude, where's my 4GB?

Sun Jul 15, 2007 10:24 am

bitvector wrote:
The 4GB limitation in virtual addressing has to do with a single application...


I think you mean 2GB, right?
The best things in life are free.
http://www.gentoo.org
Guy 1: Surely, you will fold with me.
Guy 2: Alright, but don't call me Shirley.
 
derFunkenstein
Gerbil God
Posts: 25427
Joined: Fri Feb 21, 2003 9:13 pm
Location: Comin' to you directly from the Mothership

Sun Jul 15, 2007 10:25 am

2GB user space and 2GB kernel totals 4GB is what he means, I think.
I do not understand what I do. For what I want to do I do not do, but what I hate I do.
Twittering away the day at @TVsBen
 
BIF
Minister of Gerbil Affairs
Posts: 2458
Joined: Tue May 25, 2004 7:41 pm

Sun Jul 15, 2007 10:40 am

FubbHead wrote:
Hmm.. I'm getting flashbacks from the old DOS real vs. extended memory thing here, just that this time ~3GB was considered to be "enough for everyone". Kind of, anyway. You'd think they would've seen it coming from faaaar away, and make the PCI standard a bit more flexible in that regard. Not that I'm an engineer myself. :-)

By the way, how does PCI-express fit into this? Do their mapped addresses also have to be at that specific location?


Precisely!

I use sample-based virtual music instruments. A single virtual instrument can be anywhere from several dozen MB to several hundred MB, and it's all gotta reside someplace. And they do add up.

Most sample-based software from a company called Native Instruments does have a "Direct From Disk (DFD)" feature, but all that does is move the resource usage from memory to disk. And DFD isn't available for all virtual instruments.

Compared to memory speeds, disks are slow. The PC environment's disk I/O subsystem is still not as great as it could be, and an overburdened disk drive can occasionally cause audio glitches, thereby ruining a "take."

See there, I too can be guilty of overcomplicating my explanations... :) The gist of my above comments is that music work can easily gobble up a couple GB of memory. This much needed memory constraint relief is my reason for looking forward to using a bonafide 64-bit audio application under a bonafide 64-bit OS on my 64-bit hardware...
 
Krogoth
Emperor Gerbilius I
Posts: 6049
Joined: Tue Apr 15, 2003 3:20 pm
Location: somewhere on Core Prime
Contact:

Sun Jul 15, 2007 11:53 am

Blame the ancient resource allocation methods for the ~4GB memory limit problems. It mostly goes back to when x86 architect was making the jump from 16bit to 32bit. The designers in those days thought 4GB will never be reached in desktop form factors and 1024KBs (yes you had read that right) was the norm for system memory. ;)

At around that same time there was another problem. In areas where 1024KBs wasn't enough. You had to buy an expensive, separate memory module along with a software hack known as EMS or Extended Memory System.

The 4GB problems is just deja vu all over again! :D

It will all resolved once x86-64 OS and platforms practically phased out aging x86 platform.
Gigabyte X670 AORUS-ELITE AX, Raphael 7950X, 2x16GiB of G.Skill TRIDENT DDR5-5600, Sapphire RX 6900XT, Seasonic GX-850 and Fractal Define 7 (W)
Ivy Bridge 3570K, 2x4GiB of G.Skill RIPSAW DDR3-1600, Gigabyte Z77X-UD3H, Corsair CX-750M V2, and PC-7B
 
titan
Grand Gerbil Poohbah
Posts: 3376
Joined: Mon Feb 18, 2002 7:00 pm
Location: Great Smoky Mountains
Contact:

Sun Jul 15, 2007 11:55 am

derFunkenstein wrote:
2GB user space and 2GB kernel totals 4GB is what he means, I think.


However, each program gets 2GB, so that exceeds 4GB.
The best things in life are free.
http://www.gentoo.org
Guy 1: Surely, you will fold with me.
Guy 2: Alright, but don't call me Shirley.
 
FubbHead
Grand Gerbil Poohbah
Posts: 3482
Joined: Mon Apr 08, 2002 9:04 pm
Location: Borås, Sweden

Sun Jul 15, 2007 12:02 pm

Krogoth wrote:
At around that same time there was another problem. In areas where 1024KBs wasn't enough. You had to buy an expensive, separate memory module along with a software hack known as EMS or Extended Memory System.

Hmm.. XMS is Extended Memory. You're thinking of EMS, or Expanded Memory, I believe. ;-)
Amiga 1200, 68020@28MHz, 4MB+2MB RAM, Conner 80MB harddrive
 
morphine
TR Staff
Posts: 11600
Joined: Fri Dec 27, 2002 8:51 pm
Location: Portugal (that's next to Spain)

Sun Jul 15, 2007 12:14 pm

Aye. Then we had the famous DOS4GW extender (and others) that basically did what was supposed to have been done from the start, which was give the developer a big, nice, flat address space to Do Stuff in.
 
bitvector
Grand Gerbil Poohbah
Topic Author
Posts: 3293
Joined: Wed Jun 22, 2005 4:39 pm
Location: San Francisco, CA

Re: Dude, where's my 4GB?

Sun Jul 15, 2007 1:16 pm

titan wrote:
bitvector wrote:
The 4GB limitation in virtual addressing has to do with a single application...

I think you mean 2GB, right?

No, I meant 4GB. A 32-bit application sees 2^32 bits == 4GB of virtual address space. The split of the virtual address space between user/kernel data is OS-specific: on Linux this would usually be 3GB/1GB, but even this is just one possible choice. In fact, Ingo Molnar wrote a patch (the 4G/4G patch) to allow userspace to use almost the full 4GB. It reserves only 16MBs at the top of the address space for a kernel stack and a few other things and the kernel uses almost entirely separate page table entries when you perform a syscall. Of course this has high overhead because x86 does not have a tagged TLB, so you incur a TLB flush on every syscall. But there's definitely more than one way to skin a cat: 4GB is the only general non-OS specific limit for a 32-bit address space.

One of my gripes about these threads that led me to write this is that they tend to get derailed on issues like the size of virtual address space, which has nothing to do with this particular problem. The people asking this question are going into "My Computer" properties or running some system diagnostic program and seeing how much RAM that Windows reports as total system memory.
 
DrDillyBar
Gerbil Elite
Posts: 754
Joined: Tue Jan 01, 2002 7:00 pm
Location: Edmonton, AB
Contact:

Sun Jul 15, 2007 1:47 pm

i7-4790k | Z87-A | 16GB RAM | Radeon RX460 | SSD; 2TB and 2TB | Dell 20"w | Win10
 
l33t-g4m3r
Minister of Gerbil Affairs
Posts: 2059
Joined: Mon Dec 29, 2003 2:54 am

Sun Jul 15, 2007 3:12 pm

http://members.shaw.ca/bsanders/Windows ... ileEtc.htm

Memory limitations seems to be a popular topic...

anyway, xp64 doesn't need memory remapping since it's 64 bit.
32-bit programs on win64 are limited, so the program using the memory needs to be 64-bit too.

http://en.wikipedia.org/wiki/Windows_XP ... 64_Edition

if the program and OS are both 64-bit, there isn't anything else needed.
 
bitvector
Grand Gerbil Poohbah
Topic Author
Posts: 3293
Joined: Wed Jun 22, 2005 4:39 pm
Location: San Francisco, CA

Sun Jul 15, 2007 3:19 pm

l33t-g4m3r wrote:
anyway, xp64 doesn't need memory remapping since it's 64 bit.

Argh, yes it does: that's the whole point!

This is why these threads piss me off so much!
*grumble*
 
JJCDAD
Gerbil Jedi
Posts: 1867
Joined: Fri Sep 17, 2004 3:11 pm
Location: Is this heaven? No, it's Iowa.
Contact:

Sun Jul 15, 2007 3:35 pm

So can we come up with a concise bullet-point list of requirements and caveats for using 4GB of RAM?

Like:

* Motherboard that supports 8GB of RAM
* BIOS that supports memory remapping.
* PAE
* etc.

I'm hoping a simple layman's guide will come from this excercise. :)
 
l33t-g4m3r
Minister of Gerbil Affairs
Posts: 2059
Joined: Mon Dec 29, 2003 2:54 am

Sun Jul 15, 2007 3:36 pm

bitvector wrote:
l33t-g4m3r wrote:
anyway, xp64 doesn't need memory remapping since it's 64 bit.

Argh, yes it does: that's the whole point!

This is why these threads piss me off so much!
*grumble*


no it doesn't.
xp64 supports it natively, but programs have to be either built aware or 64 bit. (which is native)

the supreme commander article is misleading since supreme commander is 32-bit.
Last edited by l33t-g4m3r on Sun Jul 15, 2007 5:05 pm, edited 1 time in total.
 
bitvector
Grand Gerbil Poohbah
Topic Author
Posts: 3293
Joined: Wed Jun 22, 2005 4:39 pm
Location: San Francisco, CA

Sun Jul 15, 2007 3:44 pm

l33t-g4m3r wrote:
bitvector wrote:
l33t-g4m3r wrote:
anyway, xp64 doesn't need memory remapping since it's 64 bit.

Argh, yes it does: that's the whole point!

This is why these threads piss me off so much!
*grumble*

no it doesn't.
xp64 supports it natively, but programs have to be either built aware or 64 bit. (which is native)

No, you are wrong. Stop posting misinformation. Whether your OS can see xGB has nothing to do with individual programs being compiled as 64-bit.

The question was "why does the OS only see 3GB/3.3GB/3.5GB when I've put in 4GB." The problem is that part of the physical address ranges between 3-4GB is used for device addresses. This does not generally change in 64-bit mode and so it affects 64-bit OSs as well (the baggage of legacy). You still need remapping to avoid occluding memory addresses. Read the first post in this thread, as it is thoroughly explained.

JJCDAD wrote:
So can we come up with a concise bullet-point list of requirements and caveats for using 4GB of RAM?

I posted this earlier:
bitvector wrote:
In short, running a 64-bit OS is neither necessary nor sufficient to use all 4GB of memory. Generally, what you need is two things:
* BIOS support for memory hoisting so that part of your physical memory addresses are moved out of the way of device addresses.
* An OS that can address > 32-bit physical addresses (64-bit OSs work but so do 32-bit OSs with PAE).
Last edited by bitvector on Sun Jul 15, 2007 3:49 pm, edited 1 time in total.
 
l33t-g4m3r
Minister of Gerbil Affairs
Posts: 2059
Joined: Mon Dec 29, 2003 2:54 am

Sun Jul 15, 2007 3:48 pm

the memory extension stuff is for xp/vista32.

Windows XP Professional x64 Edition is based upon Windows Server 2003 SP1 (build 5.2.3790.1830), as that was the latest version of Microsoft Windows during the operating system's development, but takes Windows XP as its name. It is designed to use the expanded 64-bit memory address space provided by the x86-64 architecture.

The primary benefit of moving to 64-bit is the increase in the maximum allocatable system memory (RAM). Windows XP 32-bit is limited to a total of 4 GB, which is, by default, equally divided between Kernel and application usage. Using the /3GB switch in the boot.ini file forces Windows to limit the kernel to the upper 1GB and provides up to 3GB for applications. Windows XP x64 can support much more memory; although the theoretical memory limit a 64-bit computer can address is about 16 exabytes (16 billion gigabytes), Windows XP x64 is currently limited to 128 GB (237 bytes) of physical memory and 16 TB (244 bytes) of virtual memory.


edit: more links
http://support.microsoft.com/?kbid=294418
Applications that are compiled with the /LARGEADDRESSAWARE option, as would be required to take advantage of the /3GB switch in 32-bit Windows, will automatically be able to address 4 GB of virtual memory without any boot time switches or changes to x64 Windows. Plus, of course, the operating system does not have to share that 4 GB of space. Therefore, it is not constrained at all.
Last edited by l33t-g4m3r on Sun Jul 15, 2007 5:07 pm, edited 2 times in total.
 
bitvector
Grand Gerbil Poohbah
Topic Author
Posts: 3293
Joined: Wed Jun 22, 2005 4:39 pm
Location: San Francisco, CA

Sun Jul 15, 2007 3:55 pm

l33t-g4m3r wrote:
wrong.
I see you have not read the articles i posted yet.

I haven't read the articles because I know what they say and you don't know what you're talking about. Ex:

l33t-g4m3r wrote:
the memory extension stuff is for xp/vista32.

The "memory extension stuff" is PAE and is not the same as memory address remapping. The remapping modifies the e820 memory map to be non-contiguous and move physical memory addresses that would be occluded by legacy device addresses out of the way. It is needed even for 64-bit OSs. It's simple if you know how stuff works.

You're confusing PAE and address remapping, and you're also confusing virtual and physical addresses. We're talking about physical here, not virtual, so stop posting crap about 64-bit apps, and the /3GB switch. It has NOTHING TO DO WITH THIS.

Why does every **** thread about this topic get completely derailed with tangents about virtual address space sizes??
 
l33t-g4m3r
Minister of Gerbil Affairs
Posts: 2059
Joined: Mon Dec 29, 2003 2:54 am

Sun Jul 15, 2007 4:00 pm

Last edited by l33t-g4m3r on Sun Jul 15, 2007 5:04 pm, edited 1 time in total.
 
Convert
Grand Gerbil Poohbah
Posts: 3452
Joined: Fri Nov 14, 2003 6:47 am

Sun Jul 15, 2007 4:06 pm

bitvector wrote:
Why does every **** thread about this topic get completely derailed with tangents about virtual address space sizes??

Because there is a lot of information and misinformation out there and people who claim they have it all figured out never take the time to start from the beginning and explain how everything works and *explain* the things that usually get rehashed 20 thousand times.

The problem lies with you as well bitvector, we learn by reading this stuff and it is extremely easy to pick up bad information or tie factual information into something that it doesn't apply to.

You basically give a higher level overview of the situation and expect people to take your word for it, even when something else they read appears to contradict that.

Don't get me wrong, I enjoyed your post and honestly I like the conversation it sparks because it is a opportunity to get the commonly typed misinformation out of the way by explanation. It helps everyone understand. If you want to at least clear up this issue on TR then I suggest being patient and try explaining things more otherwise it will end up as all those other threads you talk about.
Tachyonic Karma: Future decisions traveling backwards in time to smite you now.
  • 1
  • 2
  • 3
  • 4
  • 5
  • 9

Who is online

Users browsing this forum: No registered users and 1 guest
GZIP: On