我应该将交换文件保存在 SSD 驱动器上吗?

我应该将交换文件保存在 SSD 驱动器上吗?

我正在考虑购买一个 SSD 驱动器作为主操作系统分区。据我所知,这应该会大幅提高性能。

  • 我的问题是: 我应该将交换文件保留在该驱动器上吗?

交换分区将主要​​进行随机寻道,因此速度会更快。另一方面,它将不断被写入,这会更快磨损驱动器。

答案1

如果可能的话,您可能希望使用辅助盘片硬盘作为虚拟内存的位置。如果您没有,仍然建议您使用页面文件,但您可能希望禁用它以获得额外的磁盘空间。是否减少内存负载或更多磁盘空间很重要,这完全取决于您...

答案2

MSDN 博客>工程 Windows 7>固态硬盘的支持和问答

页面文件应该放在 SSD 上吗?

是的。大多数页面文件操作都是小型随机读取或大型连续写入,这两种操作都是 SSD 可以很好地处理的操作类型。

通过查看数千条跟踪的遥测数据并关注页面文件的读写情况,我们发现

  • Pagefile.sys 的读取次数是 pagefile.sys 写入次数的 40 倍左右,
  • Pagefile.sys 读取大小通常非常小,其中 67% 小于或等于 4 KB,88% 小于 16 KB。
  • Pagefile.sys 写入相对较大,其中 62% 大于或等于 128 KB,45% 正好是 1 MB。

事实上,考虑到典型的页面文件参考模式以及 SSD 在这些模式上所具有的良好性能特征,很少有文件比页面文件更适合放置在 SSD 上。

答案3

以下是一些聪明的数据来自我在 Linux 笔记本电脑中使用了大约两年的 OCZ-AGILITY SSD。

我在磁盘上有一个交换分区,我所做的唯一“调整”是在 Linux 中设置 swappiness = 0。Windows 交换配置文件或多或少类似于 Linux swappiness = 0。

这是我的私人笔记本电脑,所以每天使用的时间不会达到 8 小时(更像是 1.5 小时),但我用它进行了很多开发,因此会创建很多文件。

  9 Power_On_Hours          1199
 12 Power_Cycle_Count       2753
184 Initial_Bad_Block_Coun  0
195 Program_Failure_Blk_Ct  0
196 Erase_Failure_Blk_Ct    0
197 Read_Failure_Blk_Ct     0
198 Read_Sectors_Tot_Ct     1311815826
199 Write_Sectors_Tot_Ct    1546123387
200 Read_Commands_Tot_Ct    22347850
201 Write_Commands_Tot_Ct   31599623
202 Error_Bits_Flash_Tot_Ct 55136
203 Corr_Read_Errors_Tot_Ct 54890 
204 Bad_Block_Full_Flag     0
205 Max_PE_Count_Spec       10000
206 Min_Erase_Count         266
207 Max_Erase_Count         2166
208 Average_Erase_Count     842
209 Remaining_Lifetime_Perc 92

有趣的部分是:

  • Power_On_Hours(我花太多时间在电脑前。)
  • Max_PE_Count_Spec 为 10000,这是一个块可以应对的最小重新刷新次数。
  • 最小、最大和平均擦除次数可以说明磨损均衡算法的稳健性。我认为最差的块的闪烁次数比平均次数高出两倍是可以接受的。
  • 剩余寿命百分比为92%。

所以...我认为可以安全地假设该磁盘应该可以一直使用到我因其他原因将其退役为止。(*摸木头)它已经太小了...

假设按数字比例计算,每周工作 40 小时,使用寿命至少为 3-4 年 - 可能更长,因为我怀疑我在家里磨损磁盘的效率更高...会议更少...所以,考虑到这些好处,我认为对于工作机器来说,它相当不错。

100% / (40h/(1199/(2*52w)) * 8% = 3.6  // Did I get that right, eh...

因此,我的建议是:摆脱嘈杂的机械驱动,享受宁静:-)

这台笔记本电脑绝对安静,真是太棒了。


我用了 5 年多后,不久前我退役了这个驱动器。我需要一个更大的驱动器,而且能得到一个更快的驱动器也不错。有些块确实坏了,但看起来它还能再撑几年。

顺便说一句,它确实在最初安装它的笔记本电脑中幸存了下来。

9 Power_On_Hours                  3965
12 Power_Cycle_Count              8755
184 Initial_Bad_Block_Count          0
195 Program_Failure_Blk_Ct           0
196 Erase_Failure_Blk_Ct             0
197 Read_Failure_Blk_Ct              0
198 Read_Sectors_Tot_Ct     5438181603
199 Write_Sectors_Tot_Ct    4223860468
200 Read_Commands_Tot_Ct     108147770
201 Write_Commands_Tot_Ct     87443515
202 Error_Bits_Flash_Tot_Ct     364621
203 Corr_Read_Errors_Tot_Ct     350922
204 Bad_Block_Full_Flag              0
205 Max_PE_Count_Spec            10000
206 Min_Erase_Count                940
207 Max_Erase_Count               7808
208 Average_Erase_Count           3119
209 Remaining_Lifetime_Perc         69
211 SATA_Error_Ct_CRC                0
212 SATA_Error_Ct_Handshake          0
213 Indilinx_Internal                0

答案4

很多人都说“如果可以的话就不要交换”,但这是有误导性的,至少对于 Windows 来说是这样(对于 Linux 可能也是如此)。Windows,尤其是最新版本,总是会试图用它认为很快就会用到的缓存数据填满 RAM,并故意将其他内容交换到磁盘。不管你有多少 RAM,它都会这样做。我有 4GB,只使用了一半,但交换仍然会发生。禁用交换也是一个坏主意,因为有些程序可能需要为它们保留大量内存(比如 Photoshop),而且你很容易收到内存不足的消息。这取决于使用情况,但在极端情况下,交换总是有用的。

因此,SSD 并不是 RAM 的替代品(说“获得更多 RAM”没有抓住要点),而是一种可能比硬盘上的虚拟内存更快的替代品。看看这篇评论,看看 SSD 如何让机械硬盘黯然失色:“2010 年 6 月硬盘综述”

还要记住,IOPS 数字比传输速率重要得多。

另一件需要考虑的事情是,您当前的交换驱动器是否也是您的主驱动器。对于大多数人来说,答案是肯定的。这意味着硬盘驱动器必须访问分页虚拟内存,同时还要访问数据和程序。在这种情况下,使用 SSD 进行分页可能会带来明显的改善。

我正在寻找尝试过此方法的人来提供有关性能的明确信息,但从纸面上看,情况看起来很明确。

相关内容