Boost performance of Win XP Pro with a RAMdisk
- — 12 September, 2003 08:38
Windows likes RAM and, generally, the more you have, the more snappily your operating system and applications will run. The starting point for Windows XP Professional is 256MB but a 512MB system runs very smoothly, at a fairly minimal cost increase.
Since RAM is dirt-cheap nowadays, should you just slap as much as you can into the system? The answer is yes, but there are some caveats to bear in mind. Also, for some applications, it could make sense to not let Windows have access to all the system memory.
On the hardware side of things, remember to read your motherboard manual carefully before splurging on large amounts of RAM. Although in theory 32-bit Intel CPUs can make use of up to 4GB of RAM, in practice the actual amount is limited by the supporting logic chips such as the memory controller.
You also need to ensure that you use the right type of RAM (in some boards, all the modules have to be physically and electrically the same), and perhaps also use Error Correcting and Compensating (ECC) modules. These are more expensive but, for some motherboards, ECC is required in large memory configurations. If in doubt, check with your vendor first; it could pay to take the system back to the shop, and have the memory installed and tested there.
If you have the time and inclination, once the RAM is installed, take a look at how it is being used by Windows XP. The Performance tab in the Windows Task Manager gives you a summary of the system memory usage. For instance, on my 1GB RAM desktop, with a couple of Internet Explorer Windows, Word 2003 beta, Outlook plus sundry drivers and applets running, the Commit Charge hovers around 150-175MB. The rest is available for other applications and/or is used for the Windows dynamic file and disk cache.
To find the optimal allocation for your particular application usage setup, you can limit the amount of RAM that Windows XP Professional sees with the hidden boot.ini file in the root of the system boot drive. Use the Maxmem switch like this:
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS=”Microsoft Windows XP Professional” /fastdetect /Maxmem=256
This lets Windows XP access only 256MB of RAM, no matter how much memory you have installed in the system. Start up Windows, run your usual applications, and watch the Commit Charge. If it exceeds the amount specified in boot.ini, the value is too small. Increase the value in boot.ini, reboot, and try again. In the vast majority of cases, the optimal allocation will be somewhere between 512MB and 1GB for power users.
Antony Davison, Computer Graphics Systems Administrator at TVNZ, provided the inspiration for this column. He and his fellow workers manipulate large graphics files in applications such as Adobe Photoshop every day.
The way Photoshop is written means it makes extensive use of temporary files. Any application that has to read and write lots of large files to comparatively slow hard disks will seem a laggard, no matter how quick the PC itself is. So Antony decided to invest in more RAM for the graphics designers’ systems, and use some of it as a RAMdisk to store the temporary files.
Antony installed 4GB of RAM in the systems, capable of a theoretical 4.2GBps bandwidth in dual-channel configuration. IDE hard drives can supply data from their small (2 to 8MB) memory caches at theoretical speeds of 133 to 150MBps, with typical high-end SCSI drives being twice as fast. Even when coupled in RAID-0 configuration, no hard disk setup can match the speed of a RAMdisk, and Antony says the performance boost is staggering: “Photoshop runs as fast as it can now, without the 10-minute pauses caused by waiting for files to be read from or written to the hard disk,” he says.
For his particular application, Antony has limited Windows to 1GB of RAM, using 3GB as ‘scratch disk’ for Photoshop.
Image manipulation is just one use for RAMdisks. They can be handy for large databases, digital media creation, copying CDs, and streaming video as well. You could also point the system swap file to it, and/or the Temporary Internet Files directory. Any application that requires frequent disk access could benefit from a RAMdisk.
Please bear in mind, though, that once the system is powered off, all data on the RAMdisk is gone, irretrievably.
To create the RAMdisk itself, Antony used Cenatek’s RAMdisk software driver (www.cenatek.com/product_ramdisk.cfm), costing $US49. It can create multiple RAMdisks, visible to the Windows XP Disk Manager. There are other payware alternatives, such as SuperSpeed (www.superspeed.com/ramdisk.html).
Microsoft provides a freeware RAMdisk driver at http://support.microsoft.com/default.aspx?scid=kb;en-us;257405 but it is limited to 32MB maximum size, and requires development tools to build. Another freeware driver is to be found at www.arsoft-online.de/products/product.php?id=1 but it’s limited to a maximum size of 2GB.
Note: Please note that this tutorial requires an understanding of PC hardware and terminology; plus, you need Administrator privileges on Windows XP Professional to install software and make changes to the system initialisation files. If you make a mistake, there is a risk that your system will be damaged and/or rendered inoperable. Back up your data before attempting to make any changes, and if you’re not comfortable with low-level manipulation such as that detailed here, do not do it.