背景
我的笔记本电脑有三个磁盘驱动器,其中两个是 SSD。系统驱动器是 512 GB 的三星 SSD 850 PRO,而另一个 SSD 是 64 GB 的 Plextor M5M。不用说,M5M 明显比 850 PRO 慢,尤其是在写入方面。(整体读取和写入性能分别约为 850 PRO 的 80% 和 35%)
系统运行 Windows 8.1 Pro,内存为 24 GB。页面文件大小目前设置为最小 1 GB,最大 8 GB。
虽然系统内存不足的情况极为罕见,但这个问题仍然很重要,因为有些应用程序依赖页面文件来正常运行,而不管可用的物理内存量有多少。
问题
我正在考虑将页面文件放在 M5M 上。但是,由于 Windows 抱怨如果系统卷上没有页面文件,在发生 BSOD 时可能无法保存崩溃转储,因此在 SSD 850 PRO 上保留一个小的页面文件可能是个好主意。(请参阅下面的建议配置。)
我知道这样做会因为 M5M 的 I/O 性能较低而减慢分页操作。但这样做的结果是避免了主磁盘上系统和应用程序 I/O 的争用。因此,我不确定当分页频繁发生时对性能的实际影响。
我其实并不担心 NAND 的耐用性。SSD 850 PRO 的耐用性非常高,因为它采用了底层的 3D V-NAND 技术,而 M5M 的使用频率并不高。
我应该使用下面的页面文件配置吗?我还应该考虑哪些更好的选择?
答案1
IWhileO:尽可能同时使用两个存储项,一个用于分页(非排他性),另一个用于“将要分页的数据”如果您的分页程序,那么最好将分页设置在程序不在的磁盘上。(使用 24g 内存,您不太可能分页程序)。
如果您要分页的大型文件数据、数据库、海量照片太大而无法放入实际内存中,那么分页应该转到未保存要分页数据的磁盘。(或保存回)
使用 2 ,两者,让窗口决定:
给定多个分页位置的窗口应该使用更好的位置,因此您也可以在两个磁盘项上设置分页。它不同时使用两者,而是选择最佳的一个。(实际上我从未见过它这样做,但据说它会这样做)我更喜欢将分页放在不是程序或数据来源的磁盘上,这样数据就来自一个,并被分页到另一个
通常,Windows 系统有两种“不同”的分页情况。1
) 启动后,一些使用率较低的系统项将被分页,因为在计算机/操作系统运行时不需要它们,数量很少。将此系统分页转到除操作系统之外的其他项目,将使启动和重新启动速度稍微快一点。(加上一些程序中的其他类似情况)
这种类型可以视为程序分页。
2) 分页,因为程序的数据占用了大量内存。如果要分页的数据是进入内存的数据,那么在数据不来自的另一个磁盘上进行分页会更快。
这种类型的分页量较大,时间非常慢,我认为这是数据分页,分页应该发生在“数据”不在另一个磁盘上。
如果您有足够的实际内存来运行您所使用的程序,并且您有足够的内存来满足大多数用途,则您只会(或仍然)会出现 1 的情况,如果没有发生 2 的情况,那么也不必太担心 :-)。
明智地选择 Grasshoppa。
答案2
将页面文件放在另一个磁盘上可以避免争用,但由于磁盘速度较慢,性能可能仍会较低,具体取决于工作负载。但是,如果将页面文件放在两个磁盘上,系统将尝试同时使用这两个磁盘,从而产生类似 RAID 0 的效果,从而可以提高性能。
在分页时,如果在多个磁盘上配置了页面文件,Windows 将优先考虑 I/O 活动最少的磁盘。正如微软自己在这篇支持文章,这减少了磁盘争用:
最佳解决方案是创建一个存储在启动分区上的页面文件,然后在另一个物理硬盘上访问频率较低的分区上创建一个页面文件(如果有其他物理硬盘可用)。此外,最佳做法是创建第二个页面文件,使其存在于自己的分区上,不包含任何数据或操作系统特定文件。根据设计,Windows 使用访问频率较低的分区上的页面文件,而不是访问频率较高的启动分区上的页面文件。使用内部算法来确定使用哪个页面文件进行虚拟内存管理。
-
通过查看数千条跟踪的遥测数据并关注页面文件的读写情况,我们发现
- Pagefile.sys 的读取次数是 pagefile.sys 写入次数的 40 倍左右,
- Pagefile.sys 读取大小通常非常小,其中 67% 小于或等于 4 KB,88% 小于 16 KB。
- Pagefile.sys 写入相对较大,其中 62% 大于或等于 128 KB,45% 正好是 1 MB。
事实上,考虑到典型的页面文件参考模式以及 SSD 在这些模式上所具有的良好性能特征,很少有文件比页面文件更适合放置在 SSD 上。
但是,即使系统卷上的争用减少或避免了,仍然需要将数据移入和移出内存并移到页面文件上以启动应用程序或加载数据。鉴于另一个 SSD 速度较慢,如果大多数分页操作都转到 M5M,性能仍可能会下降。这种性能影响取决于工作负载,并且可能有限,因为 M5M 仍然具有良好的读取性能。
再说一次,如果两个 SSD 的页面文件足够大,可以容纳工作负载,则可以实现性能优势,因为可以在设备之间同时进行分页,从而产生类似 RAID 0 的效果。在建议的设置中,这种优势是有限的,因为系统卷上的页面文件只有 800 MB。
更新:我刚刚亲自测试了这一点,并能够确认,如果两个磁盘都足够大以容纳所需的内存,系统在分页时会同时使用两个磁盘上的页面文件。因此,通过多个驱动器上的页面文件可以获得最佳性能。但是,如果系统卷上的页面文件太小(如建议的设置中所示),则这种好处会大大降低,因为 I/O 主要会转到较慢的磁盘。
将页面文件放在另一个卷上可以卸载写入并减少系统 SSD 的磨损
由于正常系统操作期间的大多数 I/O 都是在系统卷上完成的,因此将页面文件放在另一个卷上有助于管理 SSD 上的磨损,因为它可以促进驱动器更均匀地使用。虽然在大多数工作负载下,现代 SSD 的耐用性并不是一个严重的问题,但将使用率均匀地分散到各个设备仍然是一个好主意。
我最终决定采用建议的设置。虽然我还没有能够完全测试性能,但我怀疑日常使用中不会有太大差异,因为我的电脑很少出现内存不足的情况。