Optimal location of pagefile on a system with two SSDs, with system drive faster than secondary drive
Background
My laptop has three disk drives, two of which are SSDs. The system drive is a 512 GB Samsung SSD 850 PRO, while the other SSD is a 64 GB Plextor M5M. Needless to say, the M5M is significantly slower than the 850 PRO, especially with writes. (Overall read and write performance are about 80% and 35% of the 850 PRO, respectively.)
The system runs Windows 8.1 Pro and has 24 GB of memory. Pagefile size is presently set to a minimum of 1 GB and a maximum of 8 GB.
While it's exceedingly rare for the system to run low on memory, this question is still relevant because some applications rely on the pagefile to function correctly regardless of the amount of physical memory available.
The question
I'm considering placing the pagefile on the M5M. However, because Windows complains that it may not be able to save a crash dump in the event of a BSOD if there is no pagefile on the system volume, it might be a good idea to leave a small pagefile on the SSD 850 PRO. (See the proposed configuration below.)
I understand that doing this would slow paging operations due to the lower I/O performance of the M5M. The upshot of this, however, is that contention with system and application I/O on the main disk is avoided. As such, I'm not sure as to the practical performance impact when heavy paging occurs.
I'm not really worried about NAND endurance. The SSD 850 PRO has extremely high endurance because of the underlying 3D V-NAND technology, and the M5M isn't used that much.
Should I use the pagefile configuration below? What other options should I consider that might be better?
IWhileO: Use both storage items at the same time as best as possible, one for the paging (not exclusivly) and the other for "the data that will be paged" If your paging programs, then the paging would be best set on the disk that the programs are not on. (with 24g ram you not likely paging programs).
If your paging huge file data, databases, massive photos too big to fit in real memory, then the paging should go to the disk that is Not holding that data that is going to be paged. (or saved back to)
Use 2 , Both, let windows decide:
Windows given more than one paging location is supposed to use the better location, so you could also set a paging on both disk items. It does not use both simeltaniously, but chooses the best one. (actually I have never seen it do this, but it is said that it will)
I prefer to have the paging on the disk that is NOT where the program or data is comming from to BE paged, so data comes from one, and is paged to the other
Generally windows system you have 2 "different" types of paging occurances.
1) After bootup some low use system items will be paged out , as they will not be needed while the computer/os is runnning, it is a small ammount. Having this system paging go to a different item other than the one the OS is on, will make booting and re-booting a tiny bit faster. (plus some other similar things from a few programs)
This type could be concidered paging of programs.
2) Paging because the data for the program uses tons of memory. If the data heading to ram is what will be paged out, having the paging occuring on the other disk the data is not comming from will be faster.
This type is the larger ammount of paging, the terribly slow times, I concider this data paging, and the paging should be occuring on the other disk that the "data" is not on.
If you have sufficient real ram, for the programs your using, and you have an ample quantity for most uses, you only (or still) have 1 occuring, and 2 is not a big concideration if it does not happen :-).
Choose wisely Grasshoppa.
Contention is avoided when placing the pagefile on another disk, but performance may still be lower depending on the workload because of the slower disk. However, if pagefiles are placed on both disks, the system will try to use both concurrently, producing a RAID 0-like effect which can increase performance.
-
When paging, Windows will prioritize the disk with the least I/O activity when pagefiles are configured on multiple disks. As Microsoft itself states in this support article, this reduces disk contention:
The optimal solution is to create one paging file that is stored on the boot partition, and then create one paging file on another partition that is less frequently accessed on a different physical hard disk if a different physical hard disk is available. Additionally, it is optimal to create the second paging file so that it exists on its own partition, with no data or operating-system-specific files. By design, Windows uses the paging file on the less frequently accessed partition over the paging file on the more heavily accessed boot partition. An internal algorithm is used to determine which paging file to use for virtual memory management.
-
Paging is a read-heavy workload and writes are mostly sequential:
In looking at telemetry data from thousands of traces and focusing on pagefile reads and writes, we find that
- Pagefile.sys reads outnumber pagefile.sys writes by about 40 to 1,
- Pagefile.sys read sizes are typically quite small, with 67% less than or equal to 4 KB, and 88% less than 16 KB.
- Pagefile.sys writes are relatively large, with 62% greater than or equal to 128 KB and 45% being exactly 1 MB in size.
In fact, given typical pagefile reference patterns and the favorable performance characteristics SSDs have on those patterns, there are few files better than the pagefile to place on an SSD.
However, even though contention is reduced or avoided on the system volume, it is still necessary to move data in and out of memory and onto the pagefile to start apps or load data. Given that the other SSD is slower, performance may still be degraded if most paging operations go to the M5M. This performance impact is dependent on the workload and is likely limited as the M5M still has good read performance.
Then again, if both SSDs have pagefiles sufficiently large to accommodate the workload, a performance benefit can be realized because paging can be done concurrently across the devices producing a RAID 0-like effect. The benefit is limited in the proposed setup because the pagefile on the system volume is only 800 MB.
Update: I just tested this myself and was able to confirm that the system uses pagefiles on both disks concurrently when paging if both are large enough to accommodate the required memory. Therefore, optimal performance is attained with pagefiles on multiple drives. However, if the pagefile on the system volume is too small, as in the proposed setup, this benefit is greatly reduced as the I/O will mostly go to the slower disk.
Placing the pagefile on another volume offloads the writes and reduces wear on the system SSD
Because most I/O during normal system operation is done on the system volume, placing a pagefile on another volume can help manage wear on the SSDs because it promotes more even use of the drives. While endurance is not a serious problem with modern SSDs under most workloads, it's still a good idea to spread out usage evenly across devices.
I ultimately did decide to adopt the proposed setup. While I haven't been able to completely test performance, I doubt there would be a huge difference in day-to-day use because low-memory situations are very rare on my computer.