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


83

我正在考虑让SSD驱动器作为主要的OS分区运行。据我了解,这将大大提高性能。

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

交换分区将主要​​是随机查找,因此应从速度中受益。另一方面,将不断写入该内容,这将使驱动器更快地磨损。


3
请查看这篇文章。storagesearch.com/ssdmyths-endurance.html 51年!!!
Xavierjazz

我记得他们曾经说过CD的平均使用时间为30年。现在,这……但是纵观历史,新一代存储介质的使用越来越少了……我现在将继续使用旧的HDD。他们似乎持续很长时间。
Rook 2009年

storagesearch.com/ssd-buyers-guide.html这应该提供准确的信息。
Xavierjazz

3
注意:有是给司机的内存只有有限的量,被称为non-pagedpaged内存部分。当页面部分已满时,页面文件是必需的,作为一个游戏玩家,我曾看到一个游戏抱怨页面缓冲池内存只是因为我在8 GB系统上禁用了页面文件。结论:页面文件是必需的,它们可以防止页面缓冲池耗尽,并确实可以加快系统速度
Tamara Wijsman

1
但是如今,例如Macbook Air仅具有一个SSD ...因此,除非避免完全禁用该页面文件,否则您就避免避免将页面文件保存在SSD中
nopole 2011年

Answers:


9

如果可能的话,您可能希望使用辅助磁盘作为虚拟内存的位置。如果您没有该文件,建议您保留一个页面文件,但是您可能要禁用它以增加磁盘空间。减少内存负载还是增加磁盘空间完全取决于您...


8
奇。上次我建议SSD与常规HDD相比寿命有限(相同用途),但我对此持反对态度。
Manos Dilaverakis 09年

6
报价不完整。建议使用2 GB的设备。在那种情况下,页面文件将占据很大一部分驱动器,从而大大减少了可用空间并增加了单个单元的磨损。一个64 GB的驱动器具有更多的单元来分配这种磨损。我想SSD制造商的建议会更有用。如果很少使用交换,它不会造成太多磨损,但在交换突然导致无法忍受的缓慢性的罕见情况下,SSD确实可以提供帮助。
本德尔

28
分页会影响SSD的使用寿命吗?是的,但是任何写入操作也是如此。我关心的?一定不行!如果3、4或5年后出血的事情变少了,那又如何呢?到那时,我们将看到SSD比当今的技术快10倍,并且现在该是继续前进的时候了。还是对5年的5400 RPM硬盘(可能具有80 GB的容量)很在乎?我相当怀疑:)

3
@Phoshi:我认为这项技术太新了,因为在这一点上任何估计都完全是理论上的。(据我所知),实际上没有人可以让SSD运行足够长的时间来测试其使用寿命。
2009年

11
这个答案显然是错误的。我在2011年11月22日下载了链接的文档。1)给出的报价不正确。完整的引言是:“我们建议禁用2 GB闪存设备的页面文件,因为该页面文件可能会对闪存设备的寿命产生潜在影响,并且减少了闪存中其他应用程序和用户数据的可用空间设备。” 2)很明显,MS在这里谈论的是典型的USB和SD闪存,而不是 SSD。
2011年

65

来自MSDN博客 > Engineering Windows 7 > 固态驱动器的支持和问答

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

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

在查看来自数千条迹线的遥测数据并关注页面文件的读取和写入时,我们发现

  • Pagefile.sys读取的页数要比pagefile.sys写入的数多40到1,
  • Pagefile.sys的读取大小通常很小,小于或等于4 KB占67%,小于16 KB占88%。
  • Pagefile.sys的写入相对较大,大于或等于128 KB的占62%,正好1 MB的占45%。

实际上,给定典型的页面文件参考模式和SSD在这些模式上具有的良好性能特征,几乎没有文件比页面文件更适合放置在SSD上。


9
毫无疑问,它会更快。什么这篇文章不讨论是这是否会导致过多的SSD耗损
PPC

1
@PPC“ Pagefile.sys读取的页数超过pagefile.sys写入的40到1 ” (此外,如果那句话是对的,最后一句话也没有任何意义。所以,再次,不是。)
David Schwartz

2
@DavidSchwartz:问题不在于写入次数与读取次数相比,而是与SSD的耐用性和操作系统的放置算法相比,每天的写入次数更多。见Xavierjazz”注意上面的OP
PPC

19

我有一个更好的答案:为什么,什么时候只能购买更多RAM?RAM与SSD空间一样便宜。这也是很多更快,它永远不会(很好,几乎从不)降低像SSD硬盘做。

将内存交换到磁盘是RAM不足的症状。如果您需要加快交换速度,请不要加快交换磁盘的速度,升级RAM,交换将消失。无论如何,交换应该被视为最后的备份计划。


12
不再。目前,SSD大约比RAM便宜4倍。无论您有多少RAM,拥有交换文件总是对吞吐量有好处(尽管这可能会削弱响应能力)。
maaartinus 2011年

@maaartinus是的,每GB存储的成本比RAM好,但是(MB / s)/ $呢?OP关心的是加速系统,而不是存储。普通的当前一代SSD驱动器的传输速率约为280MB / s,在该速度下我能在newegg上找到的最便宜的是99美元。DDR2 800 ram(非常常见)的传输速率为6000 MB / s,4Gb的价格为$ 56。因此SSD为2.8(MB / s)/ $,而RAM为107.4(MB / s)/ $。是的,您可以随意计算,并使用非常昂贵的RAM和便宜的SSD,但是即使那样,我也认为SSD的吞吐量不会便宜。
Scott Chamberlain

1
@Scott Chamberlain我同意使用RAM可以提高速度。取决于系统,这可能是解决方法。当您需要大量内存时,RAM可能会变得太昂贵,而便宜得多的SSD会获得非常好的性能。RAM的高得多的吞吐量不必太大地影响全局内存的吞吐量,因为无论如何大多数操作都是在内存中完成的(您可以将RAM视为更大的SSD的一种缓存)。最佳选择通常介于两者之间(即,购买更多的RAM和一些SSD)。
maaartinus 2011年

-1为使自己充满自我,+ 0.5为确定答案;然后我四舍五入。诚然,在我进入分页空间的极少数情况下,我一直启用交换功能,并且在我没有机会抓住它之前,它崩溃了我的操作系统。现在,如果它能寻呼,我通常可以在大问题出现之前就说出并杀死一些东西。
戴蒙2015年

RAM不再比SSD空间便宜,也许您的主板已经处于最大RAM容量。我的工作机中有64GB;不能再高了。
sudo

19

这是我在Linux笔记本电脑中使用了大约两年的OCZ-AGILITY SSD的一些SMART数据。

我在磁盘上有一个交换分区,而我所做的唯一“调整”是在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

但是swapiness = 0表示:仅进行交换以避免内存不足(默认值为60),来源:en.wikipedia.org/wiki/Swappiness
Lukasz Czerwinski 2013年

是的,可以减少一些交换,而不是禁用它。另外,我宁愿等待文件操作,而不是等待在Windows之间进行Alt-Tab键切换...顺便说一句,经过将近两年或3018个小时的开机时间,现在估计剩余使用寿命百分比为77%。

11

很多人说“如果可以,请不要交换”,但这会产生误导,至少在Windows(可能也是Linux)上。Windows,尤其是 在最新版本中,它将始终尝试用它认为很快需要的缓存数据填充RAM,并会故意将其他内容交换到磁盘。这与您有多少RAM无关。我有4GB,仅使用了一半,但仍会进行交换。禁用交换也不是一个好主意,因为某些程序可能需要为其保留大量的内存(请考虑使用Photoshop),并且您很容易出现内存不足的消息。它取决于用法,但是在极端情况下进行交换始终很有用。

因此,SSD并不是RAM的替代品(说“获取更多的RAM”已失去重点),而是硬盘上虚拟内存的更快替代品。看看这篇评论,看看SSD如何将机械硬盘留在尘土中:“硬盘综述2010年6月”

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

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

我正在寻找尝试提供有关性能的确切信息的人员,但从表面上看,此案看上去很明确。


Windows不会“将其他内容交换到磁盘”以为缓存的数据腾出更多空间,除非它确实是不重要的数据。
杰米·汉拉汉

2

帕特里克·雷根(Patrick Regan)关于“稳定性”的答案很明确:根据您的用法,可能还不错,如果您使用的是Linux,则可以在sysctl中调整“ vm.swappiness”(如前面的问题所述)以供使用。 。

因此,只要您为交换提供大量磁盘,我很想说是。我已经听到很多关于SSD驱动器上的内部控制器的信息,这些内部控制器具有超级调整算法以抗写磨损,因此从理论上讲,这将有所帮助-给其足够的空间,并将内核交换级别设置为低,SSD控制器可以分散写内容并防止任何磨损问题。

所以这让我想知道最大的交换分区可能是什么。我锁定了您提到的“交换分区”,并想到了“ Linux”,所以我研究了那里的最大值。

事实证明,至少基于内核数学,您可以创建16 TB交换分区之类的荒谬事物。mkswap可能无法实际初始化该分区,但是内核支持该分区。但是,内核无法使用它。据此,16 GB是您可以在现代Linux内核中制作和使用的最大交换分区。

所以可以,如果您的使用方式将完全免于交换,则可以。但是,如果您要进行大量交换,那么ReadyBoost(或Unix等价物)的廉价USB密钥可能会更合适-这样,当交换破坏了设备的覆盖范围时,更换和替换将很便宜不会花费您另一个SSD的价格。


3
在不了解损耗算法的细节的情况下,您无法知道更大的分区会有所帮助。由于SSD是随机访问的,所以给我的印象是,无论分区如何,写入损耗算法都可以在页面级别工作。这些算法的主要目的是避免过度磨损,因此,即使对于较小的分区,为什么也不使用整个驱动器来分散写入?
本S

有道理。我以为传播仅限于分区内。我猜对了,如果您不做一些限制,那么维护一份“什么页面在哪儿”列表将变得一发不可收拾,但我们真的不知道。
09年

1

尽管SSD驱动器的随机读取非常好,但是随机写入性能可能非常差。显然,某些SSD 仅提供12个写入IOPS,仅为标准旋转磁盘提供的十分之一(〜120 IOPS),甚至更快的SSD(如Super Talent SSD)也可能仅提供50个随机写入IOPS。

另一方面,SSD每秒可能执行数千次操作,例如Intel X25-M 160 GB 34 nm MLC G2可以执行8600 1(根据Intel规格表)甚至15334 2随机写入IOPS为4k块。

因此,总而言之,您的SSD的交换性能可能会更好,但是在您检查完SSD可以实现的随机写入IOPS数量之前,不要以为是这种情况。

[1]:http//download.intel.com/design/flash/nand/mainstream/322208.pdf

[2]:http//www.legitreviews.com/article/1022/6/


3
立即购买,检查IOPS非常容易。如果您看一下ssd评测,您会发现即使是更便宜的SSD(我以130美元的价格在下方购买了一个SSD)也能达到1700 IOPS。 ssdreview.com/review/compare/…-与7200rpm梭子鱼相比:ssdreview.com/review/compare/…(300 iops)我不确定15k驱动器是否更好。您会发现当今有相当多的SSD打破了3k IOPS。
cgp

1

2016更新

性能

如今,有关SSD的更多新数据。他们通常读写500 MB / s。正常的正常RAM的I / O约为10-20 GB / s。但是,存在PCI-e SSD。它们确实具有不错的I / O速率(1-2 GB / s),但是在2000年代中期的中期,它们的性能仍然像RAM。

性能比为:

  • 如果RAM为100%
  • PCI-e SSD约为10%
  • SSD约为2,5-5%
  • 硬盘大约为0.25-1%

如果您确实有HDD,则虚拟内存的性能可能会得到很好的提高。

价钱

常规SSD变得便宜了,但是具有良好I / O的PCIe SSD确实还不便宜。只是做数学;从PCI-e SSD价格中,您可以购买带有新RAM的新主板,瞧,问题解决了。

另一方面,由于SSD变得更加负担得起,因此可以以低廉的价格购买它们,实际上,我将把我的旧96 GB SSD用作虚拟内存。我无法真正出售它,因此可以将其用于虚拟内存。好吧,为什么不呢?它仍然比HDD更好。如果必须具有页面文件,请将其放在旧版驱动器上。

可靠性

以下测试显示,其中许多在一段时间后失败。

失败

100-600 TB确实是很多I / O,如果说有48 GB虚拟内存,则如果全部读写,则意味着在第一个坏扇区之前至少要进行2000次迭代,但是如果有可靠的磁盘,它更像10000或更多。我认为这是超过两年或三年的使用时间。

如果确实需要,我会将其用作虚拟驱动器,但是如果它是可用的选项,请根据需要尽可能扩大RAM。仅当用尽选项时才使用此虚拟内存。另一方面,您可以将旧的SSD用于此目的,并且如果出现故障(可能不会长时间),可以随时以30至40美元的价格更换它,这很有用。

用于虚拟内存的PCI-e SSD:如果您想烧钱,或者您别无选择。

最后一个旁注:如果您现在只有HDD,然后去获得SSD,然后迁移操作系统,您会感觉就像在购买一台新计算机。


0

我倾向于说,从中获得性能提升是不值得的,特别是如果您有大量RAM。如果您至少有2GB RAM,那么无论如何您都不会分页,因此收益将很小。更不用说SSD的大小相对较小,因此无论如何您可能都不想吃掉几GB的页面文件。


0

我认为这将取决于您有多少RAM以及如何设置“ swappiness”。我在计算机上设置了交换,但是如果我不休眠,则很少写入它。我倾向于不最大化我的RAM使用率。但是,如果您知道要交换很多东西,我会说不。如果您不怎么喜欢它,那我就说吧。


2
好吧,如果您不经常使用交换器,那么从速度上也不会受益匪浅,因此出于磨损和空间的原因,我宁愿将交换器留在传统的HD中。
R. Martinho Fernandes 2009年

这是真的。我想我没有那样想。
Patrick Regan

0

FWIW:我已经连续10个月在Intel SSD上使用pagefile.sys了。我不了解Windows Vista或更高版本,但是在Windows XP上,关闭页面文件似乎是个坏主意。Windows必须在某些东西上th动,因此在SSD上th动比在传统HD上th动更好;-)

如果这实际上降低了SSD的使用寿命,那又如何呢?由于价格不断下降,我每年可能会购买一次更大的产品。在此确切时间,您将花费大约2美元/ GB。


-1

除非您需要交换文件(例如用于挂起到磁盘),否则我将简单地关闭交换并摆脱交换分区。

交换的重点是提供额外的缓存级别。由于您的SSD具有低延迟,因此使用交换的收益要低得多。

如果您的系统几乎没有交换过,那么摆脱它更有意义。几年来,我一直在运行一些Linux机器而没有任何交换(在常规硬盘驱动器上),而没有性能问题。任何具有2 GB以上RAM的盒子,我都不会为交换而烦恼。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.