Linux不需要磁盘碎片整理

发布时间:2007-08-14 00:05:36来源:红联作者:Number

有段linux官方资料主要介绍了外部碎片(external fragmentation)、内部碎片(internal fragmentation)的概念及相关情况,说明了linux文件系统在磁盘还有5%空闲空间的情况下是不需要碎片整理的。(Linux native file systems do not need defragmentation under normal use and this includes any condition with at least 5% of free space on a disk.)。而在实际使用中,磁盘在还有8%左右未使用时就会有警告产生,所以碎片整理是不用考虑的。

产生碎片整理想法的主要在两类朋友中,一类是受windows思想影响的朋友,还有一类是对操作系统原理有一定程度了解的朋友。

我在这里先简单地说明一些问题。

所有地操作系统都会产生磁盘碎片,这正是某些朋友产生疑虑的原因。这个碎片在上面地官方资料中称为内部碎片。它是这样产生的,假设一个磁盘的空间有 20k,它的基本存储单位为簇,设有两个文件,一个7k,一个1k。当簇的大小为4k时,磁盘分为了5个簇,两个文件共占用3个簇,即使用了12k,其中浪费地空间就是4k,也就是产生了内部碎片4k。因此我们就了解了:内部碎片主要是造成磁盘空间的浪费。请注意:windows的磁盘碎片整理功能所整理的碎片不是这个碎片,也无法对这个碎片进行操作,它所对应的碎片概念是外部碎片。

那么,可以对内部碎片进行优化处理吗?答案是肯定的。以上面的例子来说,如果把每一簇分成2k,那么20k的磁盘就分为了10个簇,7k和1k两个文件共占用了5个簇,10k的空间,浪费的空间,即内部碎片为2k。

由此可见,簇分的越小,所浪费的空间越少。这也是NTFS比FAT32优秀的一个地方。在Win 2000的FAT32文件系统的情况下,分区大小在2GB~8GB时簇的大小为4KB;分区大小在8GB~16GB时簇的大小为8KB;分区大小在 16GB~32GB时,簇的大小则达到了16KB。而Win 2000的NTFS文件系统,当分区的大小在2GB以下时,簇的大小都比相应的FAT32簇小;当分区的大小在2GB以上时(2GB~2TB),簇的大小都为4KB。相比之下,NTFS可以比FAT32更有效地管理磁盘空间,最大限度地避免了磁盘空间的浪费。

有的朋友会进一步的思考,那么为什么文件系统不是把簇分的非常的小呢?这里就引出了另一个问题,文件访问查找的问题。还是以上面的例子说明,当我们要查找使用一个文件时,就需要通过页表来进行访问。打个比方,你住的地方就好比是文件所占用的簇,但是要找到你,就得通过你的住址来进行访问,而访问文件则是通过文件分配表。如果住的人多,地址也就很多,那么要查到你住的地址所花的时间也就很多。同样的道理,当簇分的越小,记录簇的地址也就越大,查找文件所在的簇所花的时间也就越多。当簇为4k时,簇的地址是5个,而簇为2k时,簇的地址是10个。因而簇的大小是在空间和时间上取得平衡的一个结果。

这里也对另一个问题作一些提示,有些第三方分区软件可以自定义簇的大小,建议采用默认值,否则会在某些情况下产生一些问题。

有的朋友会进一步提问:那么为什么在普通情况下NTFS分的簇会比FAT32的要小,而访问速度会差不多呢?这又牵涉到文件访问机制等等问题。这里我就不再介绍了,其实这个问题我也不能完全说清,有兴趣的朋友可以找一些操作系统方面的资料进行阅读,可以在一定程度上解决这个问题。

好,下面开始我们的重点:linux不需要碎片整理!

windows概念下的碎片,在上面linux官方资料中称为外部碎片,它就是影响性能的那个碎片概念。(This is called "external fragmentation" or simply "fragmentation" and is a common problem with MS-DOS file systems. )而linux一般不会产生这种碎片。外部磁盘碎片应该称为文件碎片,是因为文件被分散保存到整个磁盘的不同地方,而不是连续地保存在磁盘连续的簇中形成的。

当应用程序所需的物理内存不足时,一般操作系统会在硬盘中产生临时交换文件,用该文件所占用的硬盘空间虚拟成内存。虚拟内存管理程序会对硬盘频繁读写,产生大量的碎片,这是产生硬盘碎片的主要原因。

其他如IE浏览器浏览信息时生成的临时文件或临时文件目录的设置也会造成系统中形成大量的碎片。文件碎片一般不会在系统中引起问题,但文件碎片过多会使系统在读文件的时候来回寻找,引起系统性能下降,严重的还要缩短硬盘寿命。另外,过多的磁盘碎片还有可能导致存储文件的丢失。

上面所说的就是windows如何产生外部碎片的,其实这与文件系统所使用的数据结构有关。对于FAT来说,使用的是chain式的结构来记录一个文件所使用的簇。这种方式的好处就是有助于文件的动态增长的需要。但是却带了碎片的问题,使得读写文件的时候,磁头频繁移动。对于CD-ROM,由于是 read-only的,所以不存在数据增长的问题,所以,采用了连续的方法来记录数据,也不会产生碎片,而linux的ext等文件格式与CD-ROM的存储有相似之处。

linux手机内存碎片整理软件,Linux不需要磁盘碎片整理相关推荐

  1. UltimateDefrag磁盘碎片整理软件 v3.0.100.19汉化版

    软件名称:UltimateDefrag磁盘碎片整理软件 v3.0.100.19汉化版 软件类别:汉化软件 运行环境:Windows 软件语言:简体中文 授权方式:免费版 软件大小:3.25 MB 软件 ...

  2. 硬盘加速和磁盘碎片整理软件

    2018/12/12 注意: 1.机械硬盘想突破瓶颈,要么组RAID0,要么加傲腾,要么装缓存软件. 2.警告:硬盘数据容易丢失,特别是SMR,旧的二级缓存有可能会导致新数据丢失. PrimoCach ...

  3. 磁盘碎片整理程序的原理是什么?

    盘碎片整理,就是通过系统软件或者专业的磁盘碎片整理软件对电脑磁盘在长期使用过程中产生的碎片和凌乱文件重新整理,释放出更多的磁盘空间,可提高电脑的整体性能和运行速度. 磁盘碎片应该称为文件碎片,是因为文 ...

  4. 定期进行磁盘碎片整理是对计算机系统进行,电脑需要定期对磁盘进行碎片整理吗?整理有什么好处?...

    电脑使用一段时间后,由于文件的存取和删除操作,磁盘上文件和可用空间会变得比较零散,这儿一片,那儿一片,我们称它为碎片.如果这种情况不加整理,磁盘的存取效率会下降.而磁盘碎片整理程序就是将存贮的文件放在 ...

  5. 磁盘碎片整理软件评测

    磁盘碎片整理软件评测选出适合你的软件 磁盘碎片整理软件大比评! 让系统自带碎片整理工具下岗,磁盘碎片整理软件大比评 硬盘在使用一段时间后,由于反复写入和删除文件,磁盘中的空闲扇区会分散到整个磁盘中不连 ...

  6. matlab 固态 机械_固态硬盘需要“磁盘碎片整理”吗?

    固态硬盘的接口规范和定义.功能及使用方法上与普通硬盘几近相同,外形和尺寸也基本与普通的2.5英寸硬盘一致.但固态硬盘具有传统机械硬盘不具备的快速读写.质量轻.能耗低以及体积小等特点,使得固态硬盘的使用 ...

  7. 快速格式化 和 磁盘碎片整理

    快速格式化 所谓的快速格式化,在格式化过程中重写引导记录,不检测磁盘坏簇,FAT表中除坏簇以外所有表项清零,根目录表清空,数据区不变.而正常格式化会重写 引导记录,重新检查标记坏簇,其余表项清零,清空 ...

  8. 最彻底的磁盘碎片整理方法

    最方便最快的磁盘碎片整理办法无疑的是在命令行下进行整理,请看我的这个原创贴子. [url]http://hi.baidu.com/%D5%DC%D1%A7%C1%F9%B8%D9/blog/item/ ...

  9. linux手机内存碎片整理软件,讲解macOS和Linux不用碎片整理的原因,而Windows需要碎片整理...

    本文为你讲解为什么 Windows 需要碎片整理,而 macOS 和 Linux 就不需要碎片整理的原因.在 Windows 系统中,传统(HDD)磁盘驱动器(非 SSD)通常使用一段时间都需要进行磁 ...

最新文章

  1. 有关dubbo面试的那些事儿
  2. 2021-04-15 深入理解SLAM技术 【2】 SLAM的框架
  3. mongodb在插入数据环节避免数据重复的方法(爬虫中的使用update)
  4. Linux as4开启telnet,linux as4 虚拟机 上开启 telnet 和ssh 和 ftp 服务
  5. 字符串截取后两位,字符串转成数组,再转换位字符串
  6. 信息学奥赛一本通(1165:Hermite多项式)
  7. Android工程中追踪修改bug的总结
  8. USBKiller (U盘病毒专杀工具)绿色特别版V2.3 b0825
  9. 工程线性代数 matlab版,工程线性代数(MATLAB版)
  10. 最简单的文件加密工具(完全免费)
  11. java中set和get用法_java中 set 和 get
  12. 白话大数据开发之Azkaban问题一
  13. 通过淘宝司法拍卖购买房子,需要注意些什么?
  14. 区块链大咖谈之陈昌:联盟链和公有链混合架构如何实现?
  15. Locks Aren't Slow; Lock Contention Is
  16. 免费的网页截屏API有哪些?
  17. 社会保险费的缴费基数与缴费比例
  18. STM32 JTAG SWD (PB3 PB4用作普通IO)及启动模式
  19. iOS - 添加代码片段(Code Snippets)
  20. guava之基本工具

热门文章

  1. 视频转gif(源码)
  2. 献给1986,1987年出生的人
  3. postgresql mysql 源码安装_PostGreSQL12 源码安装与字符集修改 (一)
  4. UVM:一个简易验证平台例子
  5. Java单元测试实践-06.Mock后Stub静态方法
  6. at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  7. python编程midi键盘按键错乱_电脑键盘按键错乱怎么回事 电脑键盘按键错乱原因【图文】...
  8. 【简单易上手】昇思MindSpore邀你定制专属Diffusion模型
  9. 正负数值的正则表达式
  10. Lammps安装教程 windows版