我刚刚了解到,“不要对您的SSD进行碎片整理”。但是我不知道那是不是真的。

我相信Windows 10是自动计划在我的SSD上完成碎片整理的,但是我取消了它。

SSD仍未分区,因为仅在系统硬件管理器中看不到“我的电脑”文件夹中的SSD驱动器,所以它仍未分区。在SSD(这是我的第一个SSD)上安装Windows时应采取哪些正确步骤?

评论

关于“永不对您的SSD进行碎片整理”的建议已过时,它来自于与现代SSD相比,SSD速度较慢且写入寿命有限得多的时代。现代SSD往往受IOPS限制,而经过碎片整理的文件系统需要更少的I / O。

到@DavidSchwartz的观点,自发杀死现代SSD所需的写入/删除量非常高。除非您要处理大量信息,否则即使执行常规碎片整理,您的SSD也很可能比其他组件的使用寿命更长。

为什么要对SSD进行碎片整理?进行碎片整理的目的是使文件在磁盘上连续,因此读磁头不必遍历整个位置(这需要时间,因为它涉及到物理移动)才能读取文件。我不是专家,但是AFAIK SSD是固态和随机访问的。所有访问都花费相同的时间,因此文件块的分布方式无关紧要。

为什么不能对固态驱动器进行碎片整理的可能重复项?

正如Ajedi32所指出的,关于两个问题的建议是完全相反的。那会影响复制的方向。如果现在对另一个问题的建议被认为是错误的,那么到达那里的读者的唯一找到答案的方法就是,是否将这个问题与这个问题重复?

#1 楼

让Windows发挥作用。每月一次,它还会对SSD进行真正的完整碎片整理,以优化内部元数据。


简短的答案是,是的,Windows有时会对SSD进行碎片整理,是的,
对智能SSD进行适当的碎片整理很重要,并且
是的,Windows在处理SSD方面很聪明。


Microsoft的回复:


如果启用了卷快照,Storage Optimizer将每月对SSD进行一次碎片整理。这是设计使然,由于在分散的SSD卷上写入性能上的Volsnap复制速度较慢,因此有必要。
对于SSD来说,碎片化不是问题,这也是一种误解。如果SSD碎片过多,您可能会遇到最大文件碎片
(当元数据不能再代表文件
碎片时),这会在尝试写入/扩展
时导致错误。文件。此外,更多文件碎片意味着在读写文件时要处理更多元数据,这可能导致性能降低。

就Retrim而言,此命令应按计划运行在dfrgui用户界面中指定的
。由于在文件系统中处理TRIM的方式,必须进行重新整理。由于硬件对TRIM的响应性能各异,因此TRIM由文件系统异步处理。当删除文件或以其他方式释放空间时,
文件系统将整理请求排队等待处理。为了限制
监视资源的使用,此队列只能增加到最大数量的
修剪请求。如果队列的大小最大,则可能会丢弃传入的TRIM请求。可以,因为我们会定期进行操作,并且
使用Storage Optimizer进行重新整理。重新整理是按照
粒度进行的,应避免达到丢弃TRIMs的最大TRIM请求队列



因此,请在SSD上安装Windows,然后将其忘记。 Windows将自行完成所有操作。

评论


有时,我们会抱怨微软是如此愚蠢和全部。但是有时候,我对某些Windows元素的精心设计感到惊讶。

– BlueWizard
16 Dec 2'在8:54

但是AFAIK Linux / EXT根本不需要这样做。

–spraff
16 Dec 2'在10:38

EXT中的碎片保持最小,但在特定用例中至少在Ext3中仍会发生:en.wikipedia.org/wiki/Ext3#Disadvantages

–布雷
16 Dec 2'在15:39

EXT变体会造成碎片并失去性能。否则,任何人都在兜售Linux优势。资料来源:我为此实现了一个驱动程序。

–imallett
16年3月3日在21:37

@spraff多数民众赞成是因为EXT在块之间留有空间,并且文件在增长时不需要部分写入其他位置。当它成长。基本上,当您有一个视频文件(永不增长)时,它仍然会占用比所需更多的空间,从而浪费空间。没有系统是完美的

– BlueWizard
16 Dec 5'在9:24



#2 楼


我刚刚了解到,应该“切勿​​对SSD进行碎片整理”。但是我不知道那是不是真的。


一点知识都是危险的。如果您的系统完全不知道SSD是什么,那么最好不要对SSD进行碎片整理-例如Windows XP。而且,如果SSD是易碎的雪花,可能会在正常使用的严酷高温下磨损并融化-我有一个详细的答案,说明为什么那不是事实。在正常使用情况下,很难“磨损”驱动器。忘记这一点可能很方便。

让我们考虑一下,如果您的应用程序正在杀死SSD或什至像Spotify那样进行大量写入操作,那么人们会翻转。通常,编写OS的人都很聪明。

我将大量引用Scott Hanselman的这篇博客文章作为其余答案的参考。 Magicandre的答案也提到了这一点,但我从中吸取了不同的教训。值得一读的细节。我在表达信息方面有些自由。我将从这个问题开始


我认为主要的误解是,大多数人对磁盘\文件布局以及SSD的工作方式已经过时了。


SSD会产生碎片,需要跟踪这些碎片。从根本上说,对SSD进行碎片整理可以帮助您的文件系统高效运行,即使它与旋转的锈驱动器的方式不同。我引用的帖子指出,不进行碎片整理,卷快照将很慢。


SSD也具有TRIM的概念。尽管TRIM(retrim)是与碎片分离的独立概念,但是从用户的角度来看,它仍由Windows Storage Optimizer子系统处理,并且时间表由同一UI管理。


TRIM是好。 Trim节省了写入操作,因为它是一种将块标记为已读而不擦除并根据需要擦除它们的机制。

谁告诉您永远不要对驱动器进行碎片整理,却不知道现代操作系统是为SSD设计的,并且已经采用了必要的内务处理程序。

虽然很想像您会知道更多,但是在这种情况下,人们编写操作系统的人为您优化了东西。保持冷静,并让Windows对驱动器进行碎片整理。

评论


我认为通过提及逻辑块地址与物理块地址,可以大大改善此答案。不可能对SSD进行碎片整理,由于闪存映射,导致产生顺序逻辑地址的文件系统级过程仍然会导致数据分散在物理磁盘上,并且可以,因为SSD是随机访问的。

– Ben Voigt
16年11月29日在20:07

老实说,这是我至今仍未解决的问题。我确实相信对它的充分处理将为我的一个问题做出一个令人敬畏的答案,我的测试帐户中有一些代表在浮动,我很乐意为此提供奖励。

–游侠怪胎♦
16年11月30日,0:28

#3 楼

为了完整起见,

碎片取决于文件系统(FS),而不取决于光盘或OS。

这意味着您对问题的回答实际上并不需要提出对于Windows *; SSD是一种特殊情况-与普通光盘不同。

FS是一种在光盘上整理文件的方法。最常见的Windows格式是NTFSFAT32。 Linux上最常用的FS是ext3 / ext4,但还有许多其他的FS(zfsxfsjfsReiserFSbtrfs等)。

光盘分为多个块。您可以将其想象为一个可以在其中写入一些数据的长磁带。在光盘上写入内容时,将使用这些块。显然,您希望彼此相邻地写入相关文件,并且希望在单个块中写入单个文件,因此您不必在磁带上跳来跳去。当事物散落在各处时,这就是我们所说的碎片化。碎片整理将它们组织起来。

显然,事物的组织方式(FS)决定了事物的组织程度(是否存在碎片)。如果您从头开始整理文件,就不会产生碎片。这就是某些文件系统(例如ext系列)中发生的情况。这些文件系统可以动态地组织文件(在写入之前),因此您无需对它们进行碎片整理,除非在特殊情况下,除了别无选择,别无选择,否则会造成一些混乱。

有关ext4及其如何防止碎片的更多信息,您可以参考此页面

现在SSD的工作方式有所不同;这不是磁带。您可以随处获得即时访问。整理碎片的全部目的是,您可以整洁地组织文件,从而不必跳来跳去。无法跳入SSD。您不必在乎是否要来回走到磁带的另一端。没有磁带。

但是,还有其他方法可以优化SSD。请参阅本主题以进行澄清。

*几乎;文件系统选择与操作系统相关。大多数Linux用户使用与Windows或OS X用户不同的FS。

评论


就是这个不管存储介质是什么,碎片都会在FS级别上发生。某些媒体比其他媒体受的影响更大,但总会产生一些影响,并且它不会仅仅因为拥有SSD而消失。

–德米特里·格里戈里耶夫(Dmitry Grigoryev)
16年11月29日在10:37

实际上,主要区别在于Ext3和FAT与Ext4和NTFS。但是即使那样,应用程序,操作系统甚至硬件也确实做出了很大的贡献。 Windows按启动顺序来组织启动时使用的文件,例如-允许大多数启动使用块读取而不是查找。您可以将其称为碎片整理-除了在FS级别进行碎片整理(减少文件碎片)之外,它还可以对文件组进行“碎片整理”,从而以FS真正无济于事的方式优化访问。您可以想象许多类似的优化,例如将DLL移近EXE。

–罗安
16年11月29日在11:47

有许多不同的层,它们各有千秋。例如,条带化是一种有意的碎片化方式,可以提高性能。如果HDD具有可以同时读取多个盘片的多个磁头,则HDD的物理组织也可以使用它。 SSD不需要旋转盘片或移动磁头来寻找,但是它们仍然具有IOPS限制-鉴于当今SSD的速度,这通常比原始带宽更为重要。 SSD搜寻不再足够快来饱和带宽。碎片只是基本问题的一小部分-缓存。

–罗安
16年11月29日在11:53

@Luaan:没有“ SSD搜索”之类的东西。我认为您实际上是在谈论每个命令的处理开销。

– Ben Voigt
16年11月29日在20:10

@BenVoigt我认为Luaan意味着即使在SSD上,非整合文件的读取时间仍然更长。没有寻道延迟,但是在SSD上的顺序读取和随机读取之间存在显着差异。

–user1306322
16年11月30日在8:24

#4 楼

现有的答案很不错,但是我还有一些要补充的内容...
我对我的SSD进行碎片整理并禁用了自动TRIM,但是出于与上述完全不同的原因:


如果&当我不小心删除某件事时,我希望能够恢复文件或分区。
不,它不经常发生,但是发生了几次,却无法恢复那些令人沮丧的事情即使删除后我立即尝试恢复它们,我也可以在硬盘上恢复。
每隔几个月我就扩展,收缩甚至移动分区,对文件进行碎片整理和合并使此操作远非如此。更快,风险更低。您可能会认为现在可以信任分区管理器,但是直到2015年12月,我在普通移动/调整大小操作上遇到了错误(损坏)。而且,聪明的分区管理器会尽量避免在造成任何损坏的卷上运行(通常,尽管并非总是如此,但会成功)。
我有时会使用Linux,但由于其损坏,我被烧死了NTFS卷大约在一年左右之前。这不是专门由于碎片造成的,但是看到它甚至无法正确处理未碎片化的文件,我处于防御状态,并尝试尽可能清除碎片(即使那样,我也避免写大多数内容)的时间)。

关于#2和#3的可悲部分是,那些没有亲眼看到这些问题的人总是认为我很生气,正在解决所有问题,或者必须以某种方式破坏我的系统。但是我已经在多个系统上重现了这些内容,并且作为一个编写自己的NTFS阅读器的人,我对文件系统和内核编程了解了一到两件事...以NTFS为中心。因此,当我看到错误时就知道它们。没人相信我,但是我还是警告我,因为我亲眼目睹了这些事情的发生-因此,如果您搞乱了分区或完全使用Linux,我建议您对驱动器进行碎片整理。 YMMV。

哦,当您不需要恢复任何内容时,不要忘记偶尔手动运行TRIM。虽然说实话我还没有看到任何好处...

评论


太好了,出于相同的原因,这是对磁盘进行碎片整理(甚至是“零”)的好程序,尤其是对于摄影。连续文件更容易恢复,甚至部分恢复。节省时间,如果操作系统足够聪明,您还将受益于预取(预读)。 SSD往往比内存慢(尽管并非总是如此)。

–mckenzm
16年2月2日在16:44

您的Linux建议不是“如果您使用Linux并使用它来读取/写入安装NTFS文件系统”,而不是实际上“如果您完全使用Linux”?在SSD上将Linux与ext4或XFS一起使用是绝对安全的。 (还有FAT,因此,如果需要,您可以为数据交换创建FAT分区。)

–mattdm
16 Dec 4'在7:02

@mattdm:是的,我想。 (很奇怪,我以为我已经回答了这个问题……)

–user541686
16-12-6在1:15



#5 楼

您可以对ssd进行碎片整理。你应该?当然不是很常见,但是在少数情况下,很少这样做可能会有所裨益。

a)您的Samsung Evo 840受旧文件读取速度慢的问题影响。碎片整理将有效地重写它们,并且它们将不再是旧文件。

b)尽管碎片对SSD的影响极小,但控制器仍必须重新组装散布在许多闪存芯片上的文件。这样做对性能的影响很小,但是再次进行碎片整理应该重新组织文件,并使它们更易于控制器重新组装。

c)如果您有接近现代ssd的内容,则偶尔进行碎片整理不会影响生命周期足够重要。在2018年,一家硬件技术网站对sdd耐久性进行了测试,使用2d tlc(耐久性很差)的Samsung evo 840 500GB在大约600 TB的写入速度下失败了。使用耐久性更高的3d tlc(某些公司称为vnand)可能会带来更好的结果。更大的模型还需要写入更多的单元,从而进一步提高了耐久性。而且,如果您有大型专业硬盘,则续航能力完全不是问题(在我提到的测试中,三星512 GB的专业硬盘可持续写入9 PB的写入...更大/更新的型号应该可以持续更长的时间)。这些数字实际上是不可能达到的,除非您有意尝试。曾经用来杀死(无论如何便宜的模型,昂贵的模型也使用了耐用性很强的SLC)SSD,当时它是一种新技术,容量很小,控制器很愚蠢,....

#6 楼

对SSD进行碎片整理会促进最低寻址的内存块的早期故障。
请参阅:
http://techreport.com/review/27909/the-ssd-endurance-experiment-theyre-all-dead

“即使耗损均衡算法将写入均匀分布在整个闪存中,所有单元最终仍将失败或不适合执行职责。
当发生这种情况时,它们将被淘汰并由分配的闪存取代
”备用NAND可以确保
用户可访问的容量不受磨损战对其单元造成的磨损影响。”
“人员伤亡最终将超出驱动器的补偿能力,从而留下未解决的问题。它需要进行多少次写操作?最后您的数据会怎样?SSD会发生什么事?
写入堆积时会失去性能或可靠性吗?“


评论


在极端情况下,驱动器已写入和覆盖了大量数据。这与常规的常规碎片整理有什么关系?

–游侠怪胎♦
16-11-30在0:55

不,这不是一个极端的情况……这是一种表明产品固有或最终弱点的测试。测试旨在显示限制。

– jwzumwalt
16年4月4日在4:43

#7 楼

每次重写时,SSD上的每个单元都会变慢。磁盘通过跟踪已写入哪些单元并首先写入很少使用的单元来隐藏磨损。碎片整理意味着在许多单元上进行大量重写,因此它将损坏SSD。 HD得益于磁盘碎片整理功能,因为无需频繁移动伺服臂就可以提高性能,但是由于数据的随机放置,SSD不会因此而减慢。

评论


并没有投票,但是有兴趣查看此消息的来源。

–白蛋白
16年11月28日在19:55

您将写入放大与损耗平衡混为一谈。 SSD必须先擦除,然后才能写入,但是它们擦除的块大于其写入的块。这意味着一次写操作可能会执行多次写操作,以随机整理数据并释放要擦除的块。随着更多写入的发生,该过程变得更加复杂。那就是写放大。有多种方法可以解决此问题,例如TRIM和预留空间。损耗均衡正在扩展您要写入的单元,因此它们不会完全失效。

–施韦恩
16年11月28日在21:03