发布网友
共2个回答
热心网友
首先说一下,碎片是文件在磁盘上因为存储时连续空间不足,导致文件被分开放置而导致出现“碎片”,也就是文件碎了,而不是整体。
Linux 的文件系统都是针对服务器,多用户设计的。文件系统会把文件分散的放在整个硬盘上,也就是说每个文件的前后都有空白空间。这样在频繁的写入之后,分区的容量使用保持平均放置的方式。
这样,磁盘上基本上每个文件都不存在碎片的问题。当然,前提是分区容量使用在某一个百分比之下。不过 Linux 分区又有一个功能是保留空闲分区的功能。在低于某个的空闲容量后,系统就会提示硬盘容量不足,来保证系统的稳定。
Windows 需要磁盘整理是因为他的文件存放设计是空间连续存放,这就导致你删除、修改几个文件后,再写入就会发生文件被拆开存放的现象。这会导致文件读取不能连续进行而需要整理“碎片”。
不过 NTFS 已经有防止碎片的设计了。现在一般只有 FAT 类型的分区才需要整理碎片。
NTFS 碎片一般主要考虑 MFT (主文件分配表)的碎片问题,Linux 的文件分配数据存储空间是预先设定好的,不需要后期使用时增加这个空间,但 NTFS 的 MFT 有可能会因为增加容量而导致 MFT 碎片。文件分配表因为记录了文件系统的一切信息,所以他会被频繁读写,他的碎片会导致文件查找时的性能损失。
Linux 如果出现了文件碎片,那么解决的办法只有一种:把整个分区数据以文件为标准进行压缩保存,格式化碎片分区,解压缩回来。
磁盘方式保存因为会记录文件位置,解压缩回来会恢复到原来的位置,所以没有整理的效果。
热心网友
Linux的文件系统会将文件分散在整个磁盘,在文件之间留有大量的自由空间,而不是像Windows那样将文件一个接一个的放置。当一个文件被编辑了并且变大了,一般都会有足够的自由空间来保存文件。如果碎片真的产生了,文件系统就会尝试在日常使用中将文件移动来减少碎片,所以不需要专门的碎片整理程序。
因为这样的工作方式,你可能会在你的文件系统塞满之后看到碎片。如果文件系统95%(甚至80%)的空间被占用了,你就会开始看到一些碎片。然而,这样的文件系统本来就是设计来在普通使用中减少碎片的。
如果你真的在Linux上出现了碎片的烦恼,你可能就需要一个更大的硬盘了。如果你真的需要对一个文件系统做碎片整理,最简单的可能也是最可靠的方法就是将所有文件拷贝出来,然后清空原来的分区,再将文件拷贝回去。文件系统就会在你拷贝回去的过程中智能地将文件放置好。