`
天梯梦
  • 浏览: 13632364 次
  • 性别: Icon_minigender_2
  • 来自: 洛杉矶
社区版块
存档分类
最新评论

为什么Linux不需要碎片整理?

 
阅读更多

本文由 极客范 - 只爱看海 翻译自 Chris Hoffman。欢迎加入极客翻译小组,同我们一道翻译与分享。转载请参见文章末尾处的要求。

image509

 

如果你是一个Linux用户,你可能会听说Linux的文件系统不需要碎片整理。你也可能会注意到Linux的发行版本也都没有磁盘碎片整理的功能。这是为什么呢?

 

要理解为什么Linux的文件系统不会想Windows的文件系统一样产生碎片,你首先要明白碎片到底是如何产生的,还有这两大操作系统的文件系统的工作方式到底有什么不同。

 

 

什么是磁盘碎片?

 

很多Windows的用户,甚至包括一些没有经验的用户,都相信定时整理文件系统中的碎片会让他们的电脑运行得更快。但他们都不知道这是为什么。

 

 

简单来说,一个硬盘驱动器里面包含了很多扇区,每一个扇区都可以存储一小块数据。对于文件,尤其是比较大的文件来说,他们必须要存储在很多不同的扇 区内。假设你的文件系统中有很多不同的文件,每一个文件都被存储在连续的扇区群中。然后,你对增加了其中某一个文件的大小。文件系统首先会尝试对该文件新 增加的部分存储在紧挨着原来的扇区群的某个扇区中。但是如果当中没有足够的连续扇区,这个文件就必须要被分解成多个小块,这些操作对于你来说都是可见的。 当你的硬盘读取这些文件的时候,他的磁头必须在不同的物理位置间跳转以读取连续的扇区群,这会降低它的速度。

 

 

碎片整理就是一个通过逐位(位是文件在磁盘中存储的最小单位)移动文件来减少碎片的精密的过程,以此来确保每一个文件在硬盘中都是连续存储的。

 

image510

 

当然,对于固态硬盘来说这又有点不一样,固态硬盘不需要移动文件也不需要碎片整理。因为对一个SSD(固态硬盘)做碎片整理会减少它的寿命。而且,在最新版本的Windows系统中,你也不再需要为碎片整理担心,因为Windows会自动帮你完成。

 

 

Windows的文件系统如何工作

 

从前微软使用的FAT文件系统——最后一次作为默认系统被看到是在Windows 98和ME,尽管这个系统还在USB驱动器中使用——并不能够很好地排列文件。当你在FAT文件系统中保存文件时,它会尽可能地将文件排列在磁盘的首部。 当你存放下一个文件时,它会将这个文件直接存放在第一个文件的后面,以此类推。所以当文件变大,永远都会有碎片产生,因为文件的旁边已经没有空间来存放增 加的部分。

 

 

微软在Windows XP和2000中使用的较新的NTFS文件系统就尝试变得更聪明一点。这个文件系统会在文件周围放置更多名为”缓冲区“的自由空间,但是,任何一个Windows用户都会告诉你,NTFS文件系统总有一天也会产生碎片的。

 

 

因为文件系统这样的表现,他们需要碎片整理来保持性能。微软只能在最新版的Windows系统中通过在后台自动运行碎片整理程序来减轻这个问题。

 

image511

 

 

Linux的文件系统如何工作

 

Linux的ext2,ext3,ext4文件系统——ext4是Ubuntu和目前大多发行版所采用的文件系统——会以一种更加智能的方式来放置 文件。Linux的文件系统会将文件分散在整个磁盘,在文件之间留有大量的自由空间,而不是像Windows那样将文件一个接一个的放置。当一个文件被编 辑了并且变大了,一般都会有足够的自由空间来保存文件。如果碎片真的产生了,文件系统就会尝试在日常使用中将文件移动来减少碎片,所以不需要专门的碎片整 理程序。

 

image512

 

因为这样的工作方式,你可能会在你的文件系统塞满之后看到碎片。如果文件系统95%(甚至80%)的空间被占用了,你就会开始看到一些碎片。然而,这样的文件系统本来就是设计来在普通使用中减少碎片的。

 

 

如果你真的在Linux上出现了碎片的烦恼,你可能就需要一个更大的硬盘了。如果你真的需要对一个文件系统做碎片整理,最简单的可能也是最可靠的方法就是将所有文件拷贝出来,然后清空原来的分区,再将文件拷贝回去。文件系统就会在你拷贝回去的过程中智能地将文件放置好。

 

 

你可以使用fsck命令来检测一下一个Linux文件系统的碎片化程度,只需要在输出中查看非连续i节点个数(non-contiguous inodes)就可以了。



原文链接: Chris Hoffman 翻译: 极客范 - 只爱看海
译文链接: http://www.geekfan.net/5281/

分享到:
评论

相关推荐

    为什么Linux操作系统不需要碎片整理.docx

    为什么Linux操作系统不需要碎片整理.docx

    Linux与磁盘碎片整理

    Linux与磁盘碎片整理 Linux与磁盘碎片整理

    dragondjf#Linux-desktop-operating-system#Linux为什么不需要磁盘碎片整理1

    1. 什么是磁盘碎片 2. 磁盘碎片产生的主要原因 3. 磁盘碎片的危害 4.为什么Linux不需要磁盘碎片整理 1.在inode区域中找到对应文件 2.得出文

    Linux磁盘碎片快速清理工具Kleandisk

    清理磁盘碎片有很多方法,手工相对来说较为困难,文中介绍了采用工具软件——Kleandisk来快速清理磁盘碎片,以优化Linux系统性能。

    磁盘碎片整理

    磁盘碎片整理.exe

    FATDefrag:第一个用于Linux的FAT碎片整理工具-开源

    FATDefrag将是第一个用于Linux的FAT碎片整理工具。 我将支持FAT12 / 16/32文件系统。

    Linux系统硬盘的整理维护及其优化

    所有的文件系统随着时间的推移都趋向于碎片化。Linux文件系统减少了碎片化,但是并没有消除。由于它不经常出现,所以对于一个单用户的工作站来说,可能根本...本文将为大家介绍优化Linux系统硬盘性能的一些具体措施。

    UltraDefrag(磁盘碎片整理软件)V6.0.3 多国语言版

    UltraDefrag是强大的开源磁盘碎片整理软件,适用于NT内核的Windows。目前还不支持NT 4.0。UltraDefrag磁盘碎片整理软件使用内核模式驱动程序,因此它的引擎是非常快,很简约;没有皮肤、没有本地化设置、没有动画.。...

    Professional Linux Kernel Architecture

    内存管理:解释Linux内核中的虚拟内存管理机制、页面置换算法和内存分配器,包括页面映射、内存回收、内存碎片整理等。 设备驱动程序:介绍Linux内核中设备驱动程序的实现方法,包括字符设备驱动、块设备驱动、网络...

    手机卡整理内存的软件

    它能整理手机内存,而且还能清理使用碎片,说明了就是跟磁盘清理差不多。呵呵是不是挺好的啊!下载后解压出来直接放在内存卡中就行了。

    redis-4.0.10 for linux CSDN下载

    包含几项重大改进:模块系统,更好的复制(PSYNC2),对驱逐策略的改进,线程DEL / FLUSH,混合RDB + AOF格式,Raspberry Pi支持作为主要平台,新的MEMORY命令,Redis Cluster支持Nat / Docker,活动内存碎片整理,...

    cmd操作命令和linux命令大全收集

    20. dfrg.msc-------磁盘碎片整理程序 21. chkdsk.exe-----Chkdsk磁盘检查 22. devmgmt.msc--- 设备管理器 23. regsvr32 /u *.dll----停止dll文件运行 24. drwtsn32------ 系统医生 25. rononce -p----15秒关机...

    reassembler:Scapy数据包碎片重组引擎

    它还将有效负载打印到屏幕上,并向您显示每个操作系统在使用碎片整理引擎重新组装数据包后将如何看待这些数据包。 这是对2012年发布的原始版本的重写,以支持Python3。 重叠片段仍然是个问题吗? 2020年10月16日...

    vmware-vdiskmanager.exe 下载

    系统启动的时候会锁定磁盘,所以当启动linux1后共享磁盘被锁定了,linux2就起不来了,因此需要加入disk.locking = "false"。 一般来说,如果是scsi1:0,则n为1,也就是scsi1.sharedBus = "virtual" ,表示所有的bus都...

    第四课:创建目录之MD命令的详解.exe

    第22课:磁盘管理之磁盘碎片整理-defrag命令 第23课:磁盘管理之格式化命令-format命令 第24课:磁盘管理之卷标更改命令--label命令 第25课:文件传输FTP命令的讲解(上) 第26课:文件传输FTP命令的讲解(下) 第27...

    ext4.0学习总结及使用说明

    Ext4 支持在线碎片整理,并将提供 e4defrag 工具进行个别文件或整个文件系统的碎片整理。 11. inode 相关特性。 Ext4 支持更大的 inode,较之 Ext3 默认的 inode 大小 128 字节,Ext4 为了在 inode 中容纳更多的扩展...

    freede-开源

    freede是Linux文件系统的免费碎片整理程序。 它具有使碎片整理算法适应当前文件系统的能力。 包含常规的移动碎片整理程序,并且应适用于所有普通文件系统。

    Linux File-system defragmenter:https://github.com/ThomasCX/defragfs-开源

    github: https://github.com/ThomasCX/defragfs defragfs 项目针对 Linux 操作系统的文件系统/目录碎片整理,它(目前)是独立于文件系统的,只有 CLI,希望进一步的开发可以带来 GUI和更好的功能。

    Oracle DBA 参考手册

    10.3.5. Oracle碎片整理 53 10.3.5.1. 碎片是如何产生的 53 10.3.5.2. 碎片对系统的影响 53 10.3.5.3. 自由范围的碎片计算 53 10.3.5.4. 自由范围的碎片整理 54 10.3.5.5. 段的碎片整理 54 10.3.6. Oracle系统参数的...

Global site tag (gtag.js) - Google Analytics