Worth buying 4G of RAM?
-
I'm planning to buy a new laptop and was wondering whether to get 4 gigs of RAM. Raymond[^] says that without /PAE and mother board support, Windows won't see the full 4 gigs. I am confused though - if as he says, memory mapped IO devices eat up into physical address space, shouldn't that happen even if the amount of physical memory is less than 4 GB? I guess it boils down to what physical address space is - I think of it as the range of physically addressable memory (as opposed to virtual address space, which the OS/CPU translates to physical addresses). With a 32 bit processor, the max physical address space is 4 Gb, but if you have only, say 2 Gb installed, wouldn't the physical address space seen by the OS come down to 2 Gb?
Regards Senthil [MVP - Visual C#] _____________________________ My Blog | My Articles | My Flickr | WinMacro
-
I'm planning to buy a new laptop and was wondering whether to get 4 gigs of RAM. Raymond[^] says that without /PAE and mother board support, Windows won't see the full 4 gigs. I am confused though - if as he says, memory mapped IO devices eat up into physical address space, shouldn't that happen even if the amount of physical memory is less than 4 GB? I guess it boils down to what physical address space is - I think of it as the range of physically addressable memory (as opposed to virtual address space, which the OS/CPU translates to physical addresses). With a 32 bit processor, the max physical address space is 4 Gb, but if you have only, say 2 Gb installed, wouldn't the physical address space seen by the OS come down to 2 Gb?
Regards Senthil [MVP - Visual C#] _____________________________ My Blog | My Articles | My Flickr | WinMacro
No. If you have 2GB of physical ram and 1GB of memory mapped IO, the physical ram has addressed 0x00000000-0x7fffffff, while the hardware is mapped to 0x80000000-bfffffff. I'm simplifying the matter somewhat because some of the hardcoded addresses date back to the DOS era and are relatively low (yay legacy support!). If you have 4gb of ram and 1gb of memory mapped IO (like my vista laptop) only 3GB of the ram is addressable by the system because 0xC000000 and up is used by devices.
Otherwise [Microsoft is] toast in the long term no matter how much money they've got. They would be already if the Linux community didn't have it's head so firmly up it's own command line buffer that it looks like taking 15 years to find the desktop. -- Matthew Faithfull
-
I'm planning to buy a new laptop and was wondering whether to get 4 gigs of RAM. Raymond[^] says that without /PAE and mother board support, Windows won't see the full 4 gigs. I am confused though - if as he says, memory mapped IO devices eat up into physical address space, shouldn't that happen even if the amount of physical memory is less than 4 GB? I guess it boils down to what physical address space is - I think of it as the range of physically addressable memory (as opposed to virtual address space, which the OS/CPU translates to physical addresses). With a 32 bit processor, the max physical address space is 4 Gb, but if you have only, say 2 Gb installed, wouldn't the physical address space seen by the OS come down to 2 Gb?
Regards Senthil [MVP - Visual C#] _____________________________ My Blog | My Articles | My Flickr | WinMacro
No, I did the same mistake of buying 4 GB and 1 GB was never recognized by 32 bit OS. But if you install 64 bit Vista as Rocky Moore did you will be able to use up 4 GB RAM. Recently I ended up buying a iMac and it recognizes all 4 GB of RAM which I have evenly split between Windows on a VM and Mac. Things work great.
You have, what I would term, a very formal turn of phrase not seen in these isles since the old King passed from this world to the next. martin_hughes on VDK
-
I'm planning to buy a new laptop and was wondering whether to get 4 gigs of RAM. Raymond[^] says that without /PAE and mother board support, Windows won't see the full 4 gigs. I am confused though - if as he says, memory mapped IO devices eat up into physical address space, shouldn't that happen even if the amount of physical memory is less than 4 GB? I guess it boils down to what physical address space is - I think of it as the range of physically addressable memory (as opposed to virtual address space, which the OS/CPU translates to physical addresses). With a 32 bit processor, the max physical address space is 4 Gb, but if you have only, say 2 Gb installed, wouldn't the physical address space seen by the OS come down to 2 Gb?
Regards Senthil [MVP - Visual C#] _____________________________ My Blog | My Articles | My Flickr | WinMacro
S. Senthil Kumar wrote:
shouldn't that happen even if the amount of physical memory is less than 4 GB?
Nope. The thing is, you have 4 billion available addresses. Some of them must be used for I/O mapping, thus leaving less the 4 billion avaliable addresses - even for the kernel. And on top of that, add kernel address space. That leaves us with ~3 billion available addresses for each process. The only solution to this problem is to make more addresses, and that is done either by using PAE or make the address bus wider (64 bits). You will run into the same problem if you max out on 2^64 addresses on a 64 bit system. So, to answer your question; it depends how wide your address bus is. If it's 32 bit, I'd settle with 2 gigs. Otherwise, I'd go for 4 gigs.
-- Kein Mitleid Für Die Mehrheit
-
No. If you have 2GB of physical ram and 1GB of memory mapped IO, the physical ram has addressed 0x00000000-0x7fffffff, while the hardware is mapped to 0x80000000-bfffffff. I'm simplifying the matter somewhat because some of the hardcoded addresses date back to the DOS era and are relatively low (yay legacy support!). If you have 4gb of ram and 1gb of memory mapped IO (like my vista laptop) only 3GB of the ram is addressable by the system because 0xC000000 and up is used by devices.
Otherwise [Microsoft is] toast in the long term no matter how much money they've got. They would be already if the Linux community didn't have it's head so firmly up it's own command line buffer that it looks like taking 15 years to find the desktop. -- Matthew Faithfull
dan neely wrote:
while the hardware is mapped to 0x80000000-bfffffff.
Ok, I get it now. I guess I somehow mixed up memory mapped IO with DMA. Thanks for the response.
Regards Senthil [MVP - Visual C#] _____________________________ My Blog | My Articles | My Flickr | WinMacro
-
I'm planning to buy a new laptop and was wondering whether to get 4 gigs of RAM. Raymond[^] says that without /PAE and mother board support, Windows won't see the full 4 gigs. I am confused though - if as he says, memory mapped IO devices eat up into physical address space, shouldn't that happen even if the amount of physical memory is less than 4 GB? I guess it boils down to what physical address space is - I think of it as the range of physically addressable memory (as opposed to virtual address space, which the OS/CPU translates to physical addresses). With a 32 bit processor, the max physical address space is 4 Gb, but if you have only, say 2 Gb installed, wouldn't the physical address space seen by the OS come down to 2 Gb?
Regards Senthil [MVP - Visual C#] _____________________________ My Blog | My Articles | My Flickr | WinMacro
For a laptop I would not bother as it will cause the laptop to drain the batteries faster. For a desktop I would do it since 4GB of memory is around $120US right now.
Last modified: 1hr 6mins after originally posted --
John
-
No, I did the same mistake of buying 4 GB and 1 GB was never recognized by 32 bit OS. But if you install 64 bit Vista as Rocky Moore did you will be able to use up 4 GB RAM. Recently I ended up buying a iMac and it recognizes all 4 GB of RAM which I have evenly split between Windows on a VM and Mac. Things work great.
You have, what I would term, a very formal turn of phrase not seen in these isles since the old King passed from this world to the next. martin_hughes on VDK
Thanks for the response.
Rama Krishna Vavilala wrote:
But if you install 64 bit Vista as Rocky Moore did you will be able to use up 4 GB RAM.
I don't think it's worth the trouble - finding drivers and all.
Rama Krishna Vavilala wrote:
Recently I ended up buying a iMac and it recognizes all 4 GB of RAM
Did you try running Windows natively on it? Would be interesting to see if Windows also sees all 4 GB.
Regards Senthil [MVP - Visual C#] _____________________________ My Blog | My Articles | My Flickr | WinMacro
-
Thanks for the response.
Rama Krishna Vavilala wrote:
But if you install 64 bit Vista as Rocky Moore did you will be able to use up 4 GB RAM.
I don't think it's worth the trouble - finding drivers and all.
Rama Krishna Vavilala wrote:
Recently I ended up buying a iMac and it recognizes all 4 GB of RAM
Did you try running Windows natively on it? Would be interesting to see if Windows also sees all 4 GB.
Regards Senthil [MVP - Visual C#] _____________________________ My Blog | My Articles | My Flickr | WinMacro
S. Senthil Kumar wrote:
Did you try running Windows natively on it?
Not yet! The problem is that I need a regular USB key board and a mouse (I have wireless ones) to install windows natively. So I could not yet. But VMWare works fine.:)
You have, what I would term, a very formal turn of phrase not seen in these isles since the old King passed from this world to the next. martin_hughes on VDK
-
No, I did the same mistake of buying 4 GB and 1 GB was never recognized by 32 bit OS. But if you install 64 bit Vista as Rocky Moore did you will be able to use up 4 GB RAM. Recently I ended up buying a iMac and it recognizes all 4 GB of RAM which I have evenly split between Windows on a VM and Mac. Things work great.
You have, what I would term, a very formal turn of phrase not seen in these isles since the old King passed from this world to the next. martin_hughes on VDK
IMO buying 4 instead of 3 makes sense with as cheap as dram has gotten lately. If you're using two dimms a 1 and 2Gb will preclude dual channel access, halving your bandwidth. On a desktop using 2x1gb and 2x512mb will mean putting 2 dimms on each channel which forces the bios to reduce the default memory timings in order to keep the bus stable. This is a relatively minor concern since the timings only impact the bus performance by a few percent, and high quality ram will let you manually set them back to higher settings. That said the price gap between 4Gb of standard ram and 3GB of performance ram is likely to be in the formers favor.
Otherwise [Microsoft is] toast in the long term no matter how much money they've got. They would be already if the Linux community didn't have it's head so firmly up it's own command line buffer that it looks like taking 15 years to find the desktop. -- Matthew Faithfull
-
I'm planning to buy a new laptop and was wondering whether to get 4 gigs of RAM. Raymond[^] says that without /PAE and mother board support, Windows won't see the full 4 gigs. I am confused though - if as he says, memory mapped IO devices eat up into physical address space, shouldn't that happen even if the amount of physical memory is less than 4 GB? I guess it boils down to what physical address space is - I think of it as the range of physically addressable memory (as opposed to virtual address space, which the OS/CPU translates to physical addresses). With a 32 bit processor, the max physical address space is 4 Gb, but if you have only, say 2 Gb installed, wouldn't the physical address space seen by the OS come down to 2 Gb?
Regards Senthil [MVP - Visual C#] _____________________________ My Blog | My Articles | My Flickr | WinMacro
I have a laptop with 64x2 processor and 4 GB RAM, with Vista 64. I have no problems running multiple apps, even virtual servers, it barely even slows down.
only two letters away from being an asset
-
For a laptop I would not bother as it will cause the laptop to drain the batteries faster. For a desktop I would do it since 4GB of memory is around $120US right now.
Last modified: 1hr 6mins after originally posted --
John
I have a feeling that's not true. If you have more RAM, the operating system doesn't have to swap out constantly, therefore you spend less time doing disk I/O, which is waaaay more expensive on the battery than the RAM is. Am I completely off base?
-
I'm planning to buy a new laptop and was wondering whether to get 4 gigs of RAM. Raymond[^] says that without /PAE and mother board support, Windows won't see the full 4 gigs. I am confused though - if as he says, memory mapped IO devices eat up into physical address space, shouldn't that happen even if the amount of physical memory is less than 4 GB? I guess it boils down to what physical address space is - I think of it as the range of physically addressable memory (as opposed to virtual address space, which the OS/CPU translates to physical addresses). With a 32 bit processor, the max physical address space is 4 Gb, but if you have only, say 2 Gb installed, wouldn't the physical address space seen by the OS come down to 2 Gb?
Regards Senthil [MVP - Visual C#] _____________________________ My Blog | My Articles | My Flickr | WinMacro
-
I have a feeling that's not true. If you have more RAM, the operating system doesn't have to swap out constantly, therefore you spend less time doing disk I/O, which is waaaay more expensive on the battery than the RAM is. Am I completely off base?
David Stone wrote:
waaaay more expensive on the battery than the RAM is.
I may be wrong I believe 2GB of DDR2 ram uses more power than a single hard disk.
John
-
S. Senthil Kumar wrote:
says that without /PAE and mother board support, Windows won't see the full 4 gigs.
I just added 2 GB to my desktop PC, bringing it to 4 GB. The BIOS reports it as having 4 GB, but Windows (XP SP2) reports it as having 3.5 GB
This is because the PCI slots need memory addresses in the 32 bit address space. Some motherboards will allow you to move ram memory that overlaps above the 4GB mark but to see this you will probably need a 64 bit os (or one that supports > 4GB of memory with PAE).
John
-
This is because the PCI slots need memory addresses in the 32 bit address space. Some motherboards will allow you to move ram memory that overlaps above the 4GB mark but to see this you will probably need a 64 bit os (or one that supports > 4GB of memory with PAE).
John
Also, PAE needs to be implemented on a per application basis. IF an app hasn't been designed for it (and if it's not an enterprise class app that was butting against the 4gb limit years ago it won't be) trying to run with PAE will make the app blow up. You can run normal win32 apps along side PAE ones without difficulty, but only the PAE enabled ones will benefit from the extra ram.
Otherwise [Microsoft is] toast in the long term no matter how much money they've got. They would be already if the Linux community didn't have it's head so firmly up it's own command line buffer that it looks like taking 15 years to find the desktop. -- Matthew Faithfull
-
David Stone wrote:
waaaay more expensive on the battery than the RAM is.
I may be wrong I believe 2GB of DDR2 ram uses more power than a single hard disk.
John
AFAIK, power consumption for the harddrive would jump considerably when it's actually being used - seeking/reading/writing. So you may gain a bit of battery life by skimping on RAM if your machine isn't heavily loaded, but i'd expect that advantage to disappear quickly if you're doing a lot of compilation, or running a database, or even just keeping a lot of apps open at once.
-
David Stone wrote:
waaaay more expensive on the battery than the RAM is.
I may be wrong I believe 2GB of DDR2 ram uses more power than a single hard disk.
John
If you're concerned about a few watts of power consumption and have money to burn, DDR3 is ~40% lower power than DDR2.
Otherwise [Microsoft is] toast in the long term no matter how much money they've got. They would be already if the Linux community didn't have it's head so firmly up it's own command line buffer that it looks like taking 15 years to find the desktop. -- Matthew Faithfull
-
AFAIK, power consumption for the harddrive would jump considerably when it's actually being used - seeking/reading/writing. So you may gain a bit of battery life by skimping on RAM if your machine isn't heavily loaded, but i'd expect that advantage to disappear quickly if you're doing a lot of compilation, or running a database, or even just keeping a lot of apps open at once.
I am under the impression that 2GB of memory uses around 20W while the hard drive will idle with less than 10W and for a laptop it shuts off. [EDIT]After doing some googling. The 20W is high for DDR2 and also this is only while active so it will not be eating this power all the time. [/EDIT]
Last modified: 16mins after originally posted --
John
-
Also, PAE needs to be implemented on a per application basis. IF an app hasn't been designed for it (and if it's not an enterprise class app that was butting against the 4gb limit years ago it won't be) trying to run with PAE will make the app blow up. You can run normal win32 apps along side PAE ones without difficulty, but only the PAE enabled ones will benefit from the extra ram.
Otherwise [Microsoft is] toast in the long term no matter how much money they've got. They would be already if the Linux community didn't have it's head so firmly up it's own command line buffer that it looks like taking 15 years to find the desktop. -- Matthew Faithfull
No, sorry, you're getting confused between /PAE, which enables Processor Address Extensions in the processor and therefore adds more physical memory address lines, and /3GB, which changes the virtual address space division between user and kernel mode (normally 2GB each). The former makes more physical memory available to the system as a whole; the latter allows more virtual address space for processes which need a lot, often for buffering disk contents (e.g. databases, email servers). You're correct that just throwing the /3GB switch isn't enough: processes have to be aware that the address space can be bigger than 2GB, and therefore that addresses of memory objects may have the high bit set. Mistreating such addresses - e.g. casting them to signed integers - can cause problems. Therefore Windows caps the address space at 2GB for any process that doesn't have the Large Address Aware bit set (link with /LARGEADDRESSAWARE). Microsoft Exchange Information Store is notoriously bad at managing its virtual address space and their recommendation is that if you have more than 1GB of physical memory fitted, you should boot with the /3GB switch and also use /USERVA to tweak it further (3030MB, if memory serves). Otherwise it will run out of virtual address space before it runs out of physical memory. Exchange Server 2007 avoids this problem by requiring that you run the 64-bit OS for a production system. In addition they recommend not fitting more than 4GB of RAM. The extra RAM can't be used by Exchange anyway, and the data structures required to manage it swallow up large chunks of the smaller system address space, leaving even less space for drivers and TCP connections. The effect of /PAE is to change the page table entries' physical address field from being 32-bits wide to 64-bits wide. In the original Athlon 64, AMD changed the meaning of the top bit to 'No Execute'. Hardware Data Execution Prevention (DEP) sets this bit to tell the processor that execution isn't allowed on this page, so the processor will generate an access fault if execution is attempted. There wasn't room to put this on the 32-bit Page Table Entry - all the bits were already in use. If you're on a system which supports hardware DEP, Windows will put the processor in PAE mode automatically to enable this feature. However, it won't use any physical memory above 4GB. Why? Because when testing this addition in XP SP2, many devices and drivers were found to fail when trying to do DMA from addresses above 4GB. PAE mode has been around for ye