Question

My coding platform is a Vista machine with 4GB RAM. And while the machine is slick, I know there are 800MB of RAM that is not used at all. (only about 3.2GB or 4GB is used).

can I installed something to help my platform for coding? I think Wubi will not be able to use those RAM, but VMware or VirtualPC might be? Or a RAM disk so that downloading and installing tools with big file to unzip can be a lot faster? (such as unzipping Ruby installation files which seems like it is 17,000 files to unzip -- maybe exaggerating)

Was it helpful?

Solution

The upper 500MB-1GB of RAM is reserved for Windows and device drivers on 32 bit Windows. It varies in size by a number of factors but the largest is the amount of RAM your graphics card has as this amount will generally be reserved from the top of the 32 bit address space. The only way to use that is to install a 64 bit operating system (eg Vista 64 bit). Virtualization won't help you because the memory isn't there for you to give to guest OSs.

OTHER TIPS

You will need to install a 64bit OS, then you will be able to take advantage of all your ram.

As an aside, 32 bit Linux kernels that have PAE installed/enabled can take advantage of the extra memory, though individual apps will still be limited themselves.

Here's some more information on PAE:

Wikipedia

High Memory in Linux

Be careful with RAM disks. As often as not the memory would be better used for the application, background tasks or system cache. You often end up with data duplicated between the ramdisk and read/write buffers or process memory.

If unzipping files is bottle-necking your application then consider doing it in the background while the user sets their preferences, reads your program intro or other time-consuming but not io-intensive task.

The easiest thing by far to make good use of the memory is to switch to a 64bit OS.

Best articles on why you'll have trouble putting the ram to good use are:

Pushing the Limits of Windows: Physical Memory by Mark Russinovich,

and of course Dude, Where's My 4 Gigabytes of RAM? by Jeff Atwood.

alt text
(source: technet.com)

No app or driver will correct the physical/available memory disparity because they operate within the OS's limitations. You can never use that physical memory w/ 32-bit Windows. It is not missing; that 800MB does not (cannot) exist.

Only a 64-bit OS can address 4Gb physical memory and utilise it. You can test my assertion w/ any Linux distro LiveCD (I'd suggest Ubuntu 64-bit Desktop).

I have not used 64-bit Vista, but 64-bit Windows Server 2003 worked very well for me (even on a laptop).

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top