I recently got 2gb ram (2x1) for a winxp 32bit system. One did not work, so I got another pair. The ram is 800 and I now have 3gb total, 2x1 GB in 'dual channel' mode, 1 GB as a vagabond. It is a 680i mobo. The computer is working fine but I cannot get windows to see all 3 GB even using the /3GB switch in the start up (after /Fastdetect etc.)
It only sees 2.25 (which seems random) using the switch or not.
Any chance the dual channel is limiting something and would I loose 'that much' performance turning the dual channel mode off?
win xp 32 bit sp3
680i mobo 1066 (no oc)
qx6700 @2.66 (no oc)
8800 gtx sli
3 gb ram, 2x1gb, 1gb @800 5 5 5 15 (no oc)
Found your problem, that uses up 1.5GB of the memory windows can address. That leaves you with 2.5GB max and other devices are using up another 256MB.
Actually, no. Graphics card RAM is never mapped 1:1 into host address space unless its less than 256MB. You cannot simply add-up the onboard graphics RAM, then subtract it from 4096. There is no direct relationship between the address space allocated to your graphics card and the amount of RAM it has.
Look in Device Manager under View Resources by Type > Memory. Find your graphics card memory address ranges, convert it from hex, add it all up. It will be only be around 768MB MAX (or less). SLI broadcast aperture is good for another 256MB by itself. The rest will be allocated to your other hardware.
Also be sure that memory remapping or memory hole feature in BIOS is set to DISABLED for 32-bit OS.
Many thanks and I believe it, but do not fully understand how the OS 'sees' or reserves the '3 GB'.
If it sees the GTX's as 1.5 of the 3 (that is recognizes, not available), shouldn't there only be 1.5GB left to see?(As when I right click 'My Computer' -> Properties...?)
In a computer all bytes in the memory system need a unique name. This is called an address. For example, if you have 2 GB of main memory, then there are 2147483648 bytes of RAM in your machine, each of which require an address for the operating system to communicate to it. To give these all an address you need 31 bits to do it. Now, if/when you have 32 bits, you can name 4 GB (2 bytes to the 32nd power = 4GB).
This is why the total addressable space available in a 32 bit OS is 4GB – the OS runs out of addresses and cannot communicate/locate any more bytes of memory because of that.
You may think ”Hey, 4GB of address space… 4GB of RAM… What’s the problem” The problem is that memory isn’t the only thing needing an address. If you install a total of 4GB worth of RAM, the system will detect/use/display less than 4GB of total memory because of address space allocation for other critical functions, such as:
- System BIOS (including motherboard, add-on cards, etc..)
- Motherboards resources
- Memory mapped I/O
- Configuration for AGP/PCI-Ex/PCI
- Other memory allocations for PCI devices
Different onboard devices and different add-on cards (devices) will result of different total memory size. e.g. more PCI cards installed will require more memory resources, resulting of less memory free for other uses.
This limitation applies to most chipsets & Windows XP/Vista 32-bit version operating systems. Again, this is a limitation of the Operating System not having enough address space to allocate to the system *and* the RAM. Not allocating address space to devices renders them inoperable. Not allocating addresses to RAM simply results in the unaddressed section not being used in an otherwise fully functional computer. Therefore the OS designers assign RAM last.
If you install a Windows operating system, and if more than 3GB memory is required for your system, then the below conditions must be met:
1. A memory controller which supports memory swap functionality is used. The latest chipsets like Intel 975X, 955X, Nvidia NF4 SLI Intel Edition, Nvidia NF4 SLI X16, AMD K8 and newer architectures can support the memory swap function.
2. Installation of Windows XP Pro X64 Ed. (64-bit), Windows Vista 64, or other OS which can provide more than 4GB worth of address space.
Note: According to the latest Change Log published by Microsoft, Windows Vista 32bit SP1 will display the installed amount of RAM. This is a display change only, and you may go into the management console to see the actuals.
Regarding the /3GB Switch -
****Playing with this will NOT change the amount of available address space!!!**** By default, 32 bit versions of Windows allocate 2GB worth of Address Space for system usage and the other 2GB to Applications - Please do NOT confuse this with physical resource (RAM). This is a matter of how much of the available address space is allocated for what purpose. What the /3GB switch does is change this allocation so that 1GB is reserved for system usage and the other 3 is made available for applications. This has NOTHING to do with the amount of installed RAM.
The problem with this is if/when a condition arises where the system requires more than 1GB worth of address space, and subsequently runs out.... Your computer will crash.
Regarding PAE –
In order to get around the 4GB limit in a 32 bit OS, there is a functionality called “Physical Address Extensions”. Among other things, this allows an added table the OS can use to add the “same” address in more than one place. Think of this as adding a "street name" to your "address". 1234567890 on table A is not the same as 1234567890 on table B. The limitation is that this *must* be provided for in your programs and drivers in order to work. If your mailman only looks at the '1234567890' but never looks at the street name, then he can and will sometimes deliver a letter to the wrong place. The same thing is true of PAE - If/when then individual program haven’t been coded to look in multiple tables for the needed memory locations in addition to the numerical addresses, messages can and will often go to the wrong place. In Windows, this is a called a “memory access violation”, and results in a blue screen. Additionally, individual programs under PAE can still only use up to 4 GB. Kernels and drivers can be made aware of PAE, but they can still only use 4 GB ranges at a time.
In short: PAE is not that great. In a server environment the number/version/type of programs and drivers can be tightly controlled, so this works and so this functionality is available on server versions of 32 bit Windows (NT, 2003, 2006, etc). In a consumer environment, this is not true at all.
Bottom line for ‘regular’ users: If you want to use 4 GB of RAM or more, then you should buy 64-bit hardware and use a 64-bit OS.