Windows 2000 Virtual Memory on Multiple Drives
Microsoft Windows 2000 improves system performance by allowing the
virtual memory paging file (pagefile.sys) to be split
across multiple physical hard drives. By distributing paging files
across independent physical disks, the operating system's Virtual Memory
Manager (VMM) can perform parallel read and write operations, reducing
disk bottlenecking. This article explains how Windows 2000 manages
pagefile allocation across multiple physical drives, how the system
chooses which drive to access, and the architectural requirements for
crash dumps.
Concurrent Paging and Drive Selection
When multiple paging files are configured on separate physical drives, the Windows 2000 Virtual Memory Manager does not statically divide memory pages sequentially. Instead, it dynamically routes page-in and page-out requests to the least busy physical disk drive at any given moment.
When a page fault occurs or dirty pages must be written to disk, the VMM examines the current I/O request queues of the underlying disk controllers. It sends the read or write request to the physical drive that has the fewest pending I/O operations. If multiple drives have idle queues, Windows 2000 alternates requests in a round-robin fashion, effectively load-balancing paging traffic across the physical disk subsystem.
Physical Drives vs. Multiple Partitions
To gain a performance advantage, each paging file must reside on a distinct physical drive rather than different logical partitions on the same physical drive.
- Separate Physical Drives: Distributing
pagefile.sysacross multiple physical drives enables true hardware concurrency. Disk heads move independently, and separate disk controllers or channels can transfer data simultaneously, significantly cutting down disk latency. - Partitions on the Same Physical Drive: Placing multiple paging files across different partitions on a single physical drive severely degrades performance. The single drive mechanism must continuously swing its read/write heads back and forth across different disk sectors to service the separate files, causing severe disk thrashing.
Crash Dump Limitations on the Boot Volume
While spreading paging files across multiple physical drives improves overall operating system responsiveness, Windows 2000 imposes a strict constraint regarding system crash dumps:
- System Partition Requirement: When a STOP error
(Blue Screen of Death) occurs, the operating system's crash dump driver
uses basic BIOS-level I/O routines that only communicate with the
boot/system volume (the drive hosting the
\WINNTdirectory). - File Size Requirements: For Windows 2000 to save a complete memory dump, a paging file must reside on the boot partition with an initial size at least equal to the amount of installed physical RAM plus 1 megabyte (MB). For a kernel memory dump, a smaller pagefile is permissible, typically around 50 MB to 100 MB depending on the system's memory size.
- Hybrid Allocation Strategy: The optimal configuration in Windows 2000 is to place a smaller paging file on the system drive—just large enough to satisfy crash dump requirements—and place the primary, larger paging file on a dedicated, fast secondary physical disk that does not host the operating system files.
Configuration and Sizing
Paging files in Windows 2000 are configured through the System Properties applet under the Advanced tab by selecting Performance Options and then Change under Virtual Memory.
Administrators can specify an Initial Size and Maximum Size for each detected drive volume. Setting the initial size and maximum size to the same value on secondary physical drives prevents the file system from fragmenting the paging file as the system runs, ensuring continuous, sequential read and write blocks across the disk platters.