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

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

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

什么是磁盘碎片?

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

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

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

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

Windows的文件系统如何工作

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

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

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

Linux的文件系统如何工作

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

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

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

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

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

为什么Linux不需要碎片整理?相关推荐

  1. linux为什么不需要磁盘碎片整理,Linux不用磁盘碎片整理原因分析.doc

    摘要:有一个关于Linux的问题经常被问及:为什么Linux不用磁盘碎片整理呢? 在这里,我试图就"为什么有的文件系统比另一些文件系统更加需要磁盘碎片整理"给出一个简单的,非技术性 ...

  2. 为什么LINUX不需要碎片整理(Why Linux Doesn’t Need Defragmenting)

    如果您是Linux用户,您可能听说过不需要对Linux文件系统进行碎片整理.您还会注意到Linux发行版没有提供磁盘碎片整理工具.但这是为什么呢? 要理解为什么Linux文件系统在正常使用时不需要碎片 ...

  3. linux文件系统碎片,为什么 Linux 不需要碎片整理

    如果你是一个Linux用户,你可能听说过,不需要对你的Linux文件系统进行碎片整理.你可能还会注意到,Linux发行版并没有附带磁盘碎片整理工具.这是为什么呢? 想要知道为什么在正常使用中,Linu ...

  4. 为什么LINUX不需要碎片整理

    有一个关于Linux的问题经常被问及:为什么Linux不需要磁盘碎片整理呢?在这里,我试图就"为什么有的文件系统比另一些文件系统更加需要磁盘碎片整理"给出一个简单的,非技术性的答案 ...

  5. (转载)为什么Linux不需要碎片整理?

    http://www.geekfan.net/5281/ inux的ext2,ext3,ext4文件系统--ext4是Ubuntu和目前大多发行版所采用的文件系统--会以一种更加智能的方式来放置文件. ...

  6. linux会自动碎片整理,Linux为何这么屌,无需碎片整理

    作为Windows系统用户,会开始羡慕Linux,因为Linux的文件系统不需要碎片整理.如此屌的行径,不禁让系统用户的小伙伴们都惊呆了,而在惊呆之后发现Linux的发行版本也都没有磁盘碎片整理的功能 ...

  7. 为什么linux不需要整理磁盘,为什么Linux不需要磁盘碎片整理

    产生碎片整理想法的主要在两类朋友中,一类是受windows思想影响的朋友,还有一类是对操作系统原理有一定程度了解的朋友. 我在这里先简单地说明一些问题. 所有地操作系统都会产生磁盘碎片,这正是某些朋友 ...

  8. linux手机内存碎片整理软件,Linux不需要磁盘碎片整理

    Linux不需要磁盘碎片整理 发布时间:2007-08-14 00:05:36来源:红联作者:Number 有段linux官方资料主要介绍了外部碎片(external fragmentation).内 ...

  9. Linux碎片整理工具,Linux不需要磁盘碎片整理

    今天老师上课时谈到过Windows的磁盘碎片整理.以前就知道Linux一般不需要进行磁盘碎片整理.但是考虑到我还有3个NTFS分区,看可不可以在Linux下对其进行整理.于是便去google--结果发 ...

最新文章

  1. 开发log4j配置_Spring 使用 Log4J 记录日志
  2. server-send event object
  3. wget下载https时遇到not trusted下载不了的解决办法
  4. springboot基于maven多模块项目搭建(直接启动webApplication)
  5. 网络营销——优秀的网站优化公司都包含哪些助力网络营销的服务?
  6. 这是一个什么用也没有的模板
  7. A watermeten 《Before an Exam》
  8. Qt Marketplace
  9. BeetleX网关之请求聚合
  10. 高数公式大整理 ,伸手党进来——麻麻再也不怕我挂高树了
  11. idea 使用 maven 整合 ssm 框架 实现简单的增、删、改 和 分页查询功能
  12. sqlalchemy mysql教程_SQLAlchemy 教程 —— 基础入门篇
  13. 如何用一头死驴赚到998元
  14. 离散傅里叶变换(DFT)
  15. 手机wifi java_Android中使用WIFI来连接ADB
  16. Python读文件报错:SyntaxError: Non-ASCII character in file
  17. cocoa-CoreData
  18. 文件系统 转载至百度百科
  19. 字符串String知识总结(上) 冲冲冲!!!
  20. git pull 出现 from the remote, but no such ref was fetched 已解决

热门文章

  1. 角谷猜想(信息学奥赛一本通-T1086)
  2. 信息学奥赛一本通C++语言——1008:计算(a+b)/c的值
  3. python中如何保存文件_如何在python中处理后保存文件?
  4. 协同过滤算法_基于Mahout的协同过滤推荐算法
  5. 通过opencv的函数进行图片修复:cv2.inpaint()
  6. 【pytorch 】nn.init 中实现的初始化函数 normal, Xavier==》为了保证数据的分布(均值方差一致)是一样的,类似BN
  7. [Unity][FlowCanvas] FlowScript 通过 Tween 实现在两点间移动
  8. Eyoucms代理授权统计插件源码
  9. python gevent缺点_python 协程 greenlet gevent
  10. artcam 9.0英文版本下载_tomcat 下载安装