![多个驱动器上的页面文件优先级](https://linux22.com/image/1508375/%E5%A4%9A%E4%B8%AA%E9%A9%B1%E5%8A%A8%E5%99%A8%E4%B8%8A%E7%9A%84%E9%A1%B5%E9%9D%A2%E6%96%87%E4%BB%B6%E4%BC%98%E5%85%88%E7%BA%A7.png)
我正在管理一台 Dell R710 服务器,用于一些非常大的非线性有限元分析 (FEA) 计算。有时,这些运行将占用超过 500GB 的分配内存。由于这台机器目前只有 132GB 的 RAM,因此这部分额外的内存分配是通过分页文件进行的。
分页文件当前位于旋转硬盘阵列上,并造成了巨大的瓶颈。我已研究过将内存最大化(288GB)并添加 400GB Intel 750 NVMe SSD 作为专用分页文件磁盘。这应该可以释放一些分页文件 IO 瓶颈,但我想确保我们不会将分页文件最大化并导致大型运行崩溃。
除了获得 800GB Intel 750 以实现已知的最大页面文件大小 864GB(3x 288GB)之外,我可以让 Windows 使用 HDD 阵列作为额外页面磁盘空间的故障转移吗?有没有办法将 SSD 优先设置为页面文件的主要文件?谢谢。
答案1
您不需要在 HDD 阵列上拥有页面文件。如果您想要崩溃转储,您可以简单地将其删除或将其设置为绝对最小值(当您更改 HDD 阵列上的单个页面文件大小时,操作系统会告诉您)。假设阵列是操作系统的位置。
在使用操作系统分区驱动器的页面文件后,这将自动强制写入 SSD。
将页面文件放在阵列上存在缺点。每次页面写入都会发送到控制器,并且不必要地通过控制器板的逻辑来确定实际将该页面写入哪个驱动器。页面文件本质上是临时存储,因此拥有任何类型的 RAID 或阵列都没有好处(特别是如果有更快的子系统,即本例中的 SSD)。
有人可能会问“大多数阵列控制器上的大型缓存怎么办?”这些缓存对页面文件没有用处,同样是因为根据定义,被分页的内容是一段时间内没有读取的内容,因此无论如何都不可能访问缓存来读回页面文件。在这种情况下,具有内置基本缓存的 SSD 将比阵列缓存更快。
在您的特殊情况下(FEA 计算),如果算法需要定期跨越整个分配的内存,情况就会变得有点棘手。因此,页面文件会被大量读回。在这种情况下,控制器上的任何大型缓存“都可能”有所帮助,具体取决于您的算法访问内存的顺序。如果它导致更多的 LIFO(后进先出)类型的访问顺序,那么它会有所帮助。如果它是随机的,那么好处可能有限。如果它是 FIFO(先进先出),那么它可能会造成伤害。
微软 MVP 的随机说法表明,更快的驱动器将自动受到青睐。尽管我多年来的经验观察表明,操作系统驱动器更受青睐。因此,上述配置解决了您的两个问题。