5.5 How Much Memory Is Enough?

Back when memory cost $50 per megabyte, we advised people to install as much memory as they could afford. With memory now selling for pennies per megabyte, we advise people to install as much memory as their motherboards will accept.

How much memory you actually need depends on the operating system and applications you use, how many windows you keep open, which background services and processes you run, and so on. Memory is more important than processor speed when it comes to system performance. Windows XP runs faster on a slow Celeron with 256 MB than on a fast Pentium 4 with 64 MB.

Using a big swap/paging file cannot substitute for having enough RAM. Windows virtual memory allows you to run more and larger programs than fit into physical memory by temporarily swapping data from RAM to a disk file. When Windows swaps to disk, performance takes a major hit. If your hard disk clatters away every time you switch between running applications, that's a sure sign that heavy paging is going on and that your system needs more memory. RAM is cheap. Install enough of it to minimize use of the paging file.

To determine how much memory you need, choose the following category that best describes your usage pattern. If you fall between two, choose the higher. Note that newer versions of applications usually require more memory.

Light

Web browsing, email, casual word processing and spreadsheets, checkbook management, and simple games; one or two windows open; particularly if using software one or two versions behind current releases.

Typical

Applications listed previously, particularly current versions; three to five windows open; using more demanding applications, including casual database updates and queries, complex spreadsheets, light/moderate programming, and mainstream games. File and print sharing in small workgroups or home networks.

Heavy

Memory-intensive applications?e.g., Photoshop; speech/pattern-recognition software; many windows open; multiple background services; graphics-intensive games such as Quake III; heavy programming, especially with an Integrated Development Environment (IDE) and doing frequent compiles and links. File and print sharing for large workgroups or departmental groups. Limited use as an application or database server.

Extreme

Professional scientific, engineering, and statistical applications; manipulating very large data sets. Use as a consolidated file, print, application, and database server.

Table 5-1 lists the minimum amount of memory we recommend by operating system and usage. These are ad hoc rules based on our experience, so your mileage may vary. More is always better because using more than the recommended minimum contributes to system stability. Windows 9X is of questionable robustness for Heavy usage, let alone Extreme usage, so we do not provide recommendations for Windows 9X in Extreme usage.

As we update this table for each edition, the amount of RAM we recommend keeps growing, both because later releases of the operating systems need more memory and because new versions of applications typically want more memory. Only a couple of years ago, running 512 MB of RAM on a desktop system raised eyebrows, and 1 GB was unheard of except among graphics professionals and others with heavy demands. Nowadays, 512 MB systems are commonplace, and 1 GB systems are not unusual. We remember a time not all that long ago when we were delighted to have 1 GB of disk space.

Table 5-1. Recommended memory by operating system and usage pattern

Operating system

Light

Typical

Heavy

Extreme

Windows 95

24 MB

64 MB

128 MB

N/R

Windows 98/98SE

32 MB

64 MB

128 MB

N/R

Windows Me

64 MB

64 MB

128 MB

N/R

Windows NT 4 Workstation

64 MB

128 MB

256 MB

384+ MB

Windows NT 4 Server

96 MB

256 MB

512 MB

768+ MB

Windows 2000 Professional

128 MB

256 MB

512 MB

1024+ MB

Windows 2000 Server

128 MB

256 MB

512 MB

1024+ MB

Windows XP Home/Professional

128 MB

256 MB

512 MB

1024+ MB

Linux (GUI workstation)

128 MB

256 MB

512 MB

1024+ MB

Linux (text-based server)

128 MB

256 MB

512 MB

1024+ MB

Each operating system has a "sweet spot," which depends on the application mix, but is typically about midway between our recommendations for Typical and Heavy usage. Adding memory increases performance until you reach the sweet spot, but adding more than that results in decreasing returns. We generally find the sweet spot for Windows 95/98/Me to be 96 MB; for Windows NT Workstation 4.0, 192 MB; and for the remaining operating systems, 384 MB. Your mileage may vary.

In general, the best way to determine if you've reached the sweet spot for your own mix of applications and your personal working style is to keep an eye on how frequently the system pages out to the hard disk. If that happens frequently, you need more memory. If your system pages only occasionally, you probably have enough memory. Our rule is simple. If in doubt, always err on the side of having more memory rather than less.

If you're wondering whether we practice what we preach, Robert uses 1 GB of RAM on his primary Windows 2000 Professional desktop system, and 512 MB on his secondary Windows 2000 Pro systems. Barbara uses 1 GB on her Windows 2000 Pro system. (We don't use Windows XP on any of our production systems.) Our two general-purpose NT 4 servers provide file and print sharing and domain controller functions, and run happily with 128 MB each. Our main Linux server uses 512 MB, and our secondary Linux servers have 256 MB each. Our Linux desktop systems have 384 MB or 512 MB, and all supplementary and test-bed systems have at least 256 MB. Other than our legacy NT4 Server boxes, we no longer have any systems running 128 MB or less.