[转]如何整理Linux磁盘碎片,竟与Windows的方式大不同 返回操作系统首页

Linux 系统永远不需要整理磁盘碎片的神话相信很多人都听说过。由于 Linux 采用了优秀的日志文件系统(ext2、ext3、ext4, btrfs等),在绝大多数情况下确实是不需要进行磁盘碎片整理的。

什么是磁盘碎片文件?

当文件系统在磁盘的扇区上读写文件时会形成不连续的整体,这样就会产生磁盘碎片文件。这种情况在 FAT 和 FAT 32 文件系统来说尤为突出,NTFS 文件系统对该现象进行了一些缓解。那为什么这种情况几乎不发生在 Linux 操作系统 (extX) 中呢?

在 FAT 和 FAT32 文件系统中,文件会在彼此相邻的磁盘右侧进行写入,并没有为文件增长或更新留出空间。

NTFS 为相邻文件留出了部分间隔,让文件有一定的增长和更新空间。但这个间隔是有限的,随时使用时间增长一样会产生磁盘碎片。

Linux 的日志文件系统采用完全不同的存储方式,直接将每个文件分散在磁盘上进行存储,为每个文件之间留下了自由的空间,因此很少产生磁盘碎片文件。

此外,如何磁盘碎片开始产生,大多数 Linux 文件系统将自动尝试将文件和块进行重组,以使得存储变得连续起来。

整理Linux磁盘碎片文件

除非你使用了一个空间较小的磁盘或频繁读写的空间,磁盘碎片文件在 Linux 系统中很少发生。一些可能会导致 Linux 磁盘碎片产生的情况如下:

  • 在有限的磁盘空间下编辑大型视频文件或 RAW 图片
  • 在较老旧的设备上使用空间很小的磁盘
  • 磁盘空间使用率超过85%
  • 存储过多体积很小的文件

当然,最好的解决办法就是换一块空间较大的硬盘,或者进行手动整理。

如何检查是否有磁盘碎片

我们可以使用 fsck 命令对磁盘进行检测。切记,在检测时一定要 unmount 被检测分区,不然有可能损坏数据。因此,建议大家从 Live CD 来执行 fsck 命令,并在之前对重要文件做好备份。

一切准备就绪之后,我们执行如下命令:

  1. fsck -fn [/path/to/your/partition]

其中[/path/to/your/partition]为我们要检测的路径,检测时会有大量的信息输出,最终将会报告给我们一个磁盘碎片的相关信息:

注意:如果磁盘碎片在 20% 以上,我们就需要进行整理。20% 以内的话,可以暂时不进行。

简单方式整理Linux文件系统

与其说是整理磁盘其实不如说是删了重来,Linux 的操作方式与 Windows 下的磁盘整理完全不同。由于 Linux 是基于文件的系统,我们只需将磁盘中的文件全部复制到另一个地方,将其格式化之后再将备份好的文件复制回来即可。复制回来的同时,Liunx 会自动将文件进行连续分布排列。

1. 使用如下命令备份源磁盘文件

  1. cp -afv [/path/to/源盘]/* [/path/to/备份文件夹]

注意:很多朋友会认为大批量复制文件用 dd 文件比较好,但 dd 的操作层面更低,会复制很多垃圾信息。而我们的目的是要整理磁盘,所以使用 cp 命令。

2. 现在我们使用如下命令删除源文件

  1. sudo rm -rf [/path/to/源盘]/*

可选项:当然,你也可以直接通过以下命令直接为源盘填充 0 以达到清空的目的。

  1. sudo dd if=/dev/zero of=[/path/to/源盘]/temp-zero.txt

3. 你可以使用 pv 命令来监控 dd 命令的执行过程:

  1. sudo apt-get install pvsudo pv -tpreb | of=of=[/path/to/源盘]/temp-zero.txt

4. 执行完成后,我们删除这个临时文件

  1. sudo rm [/path/to/源盘]/temp-zero.txt

5. 磁盘清零(可靠)后我们将备份好的文件复制回来即可

  1. cp -afv [/path/to/备份文件夹]/* [/path/to/源盘]

使用e4defrag

如果你觉得以上步骤太麻烦了,还可以使用 e2fsprogs 命令

1. 安装e2fsprogs

  1. sudo apt-get install e2fsprogs

2. 执行整理

  1. sudo e4defrag /

注意:以上命令虽然方便,但不是所有系统上都可以执行成功。

时间: 2024-08-08 08:29:41

[转]如何整理Linux磁盘碎片,竟与Windows的方式大不同 返回操作系统首页的相关文章

02:linux 磁盘满了,却找不到大文件问题处理 lsof命令

今天,上午收到zabbix 报警. 报警内容:一台服务器,磁盘满了. 故障排查步骤: 之前磁盘满了,一般都是由于服务器上面再跑的服务日志引起的占用太多空间,服务器上有java程序,去删除多余的日志就可以了.但是我记得这台服务器我是做过日志自动清理机制的. 因此登录服务器,df -h 发现磁盘91% , df -i  索引正常. 我首先想到是不是日志清理出问题了,去每个服务下面log查看发现正常,日志量只有几百兆. 于是使用du找下大文件,于是在根目录下,看下各个目录的磁盘占用情况. du -sh

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

盘碎片整理,就是通过系统软件或者专业的磁盘碎片整理软件对电脑磁盘在长期使用过程中产生的碎片和凌乱文件重新整理,释放出更多的磁盘空间,可提高电脑的整体性能和运行速度. 磁盘碎片应该称为文件碎片,是因为文件被分散保存到整个磁盘的不同地方,而不是连续地保存在磁盘连续的簇中形成的.硬盘在使用一段时间后,由于反复写入和删除文件,磁盘中的空闲扇区会分散到整个磁盘中不连续的物理位置上,从而使文件不能存在连续的扇区类.这样,再读写文件时就需要到不同的地方去读取,增加了磁头的来回移动,降低了磁盘的访问速度.当应用

磁盘碎片原理分析 (转载)

原文地址:http://www.cnblogs.com/hbwang/archive/2005/07/13/192251.html 一.什么是磁盘碎片? 其实磁盘碎片应该称为文件碎片,是因为文件被分散保存到整个磁盘的不同地方,而不是连续地保存在磁盘连续的簇中形成的.当应用程序所需的物理内存不足时,一般操作系统会在硬盘中产生临时交换文件,用该文件所占用的硬盘空间虚拟成内存.虚拟内存管理程序会对硬盘频繁读写,产生大量的碎片,这是产生硬盘碎片的主要原因.其他如IE浏览器浏览信息时生成的临时文件或临时文

小知识-为什么Linux不需要磁盘碎片整理

转载至:http://beikeit.com/post-495.html 简单译文: 这段linux官方资料主要介绍了外部碎片(external fragmentation).内部碎片(internal fragmentation)的概念及相关情况,说明了linux文件系统在磁盘还有5%空闲空间的情况下是不需要碎片整理的.(Linux native file systems do not need defragmentation under normal use and this include

如何在 Linux 中整理磁盘碎片

有一个神话是 linux 的磁盘从来不需要整理碎片.在大多数情况下这是真的,大多数因为是使用的是优秀的日志文件系统(ext3.4等等)来处理文件系统.然而,在一些特殊情况下,碎片仍旧会产生.如果正巧发生在你身上,解决方法很简单. 什么是磁盘碎片 文件系统会按块更新文件,如果这些块没有连成一整块而是分布在磁盘的各个角落中时,就会形成磁盘碎片.这对于 FAT 和 FAT32 文件系统而言是这样的.在 NTFS 中这种情况有所减轻,但在 Linux(extX)中却几乎不会发生.下面是原因: 在像 FA

浅谈磁盘碎片整理的好处与方法

磁盘碎片整理的好处 1.磁盘碎片整理可以让系统运行更顺畅,减少卡顿的现象,提高系统性能.2.需要注意的是,使用固态硬盘的用户千万不要使用"磁盘碎片整理"功能,因为所使用的技术不同,使用Windows自带的磁 盘碎片整理会使固态硬盘的寿命大大减短. 磁盘碎片整理的方法步骤 打开"此电脑",选中任意磁盘盘符,然后点击"管理"-"优化" 选中整理的磁盘,可以使用"Ctrl"+ "鼠标左键"来选

Defraggler2.15.742汉化单文件(磁盘碎片整理)

Defraggler2.15.742汉化单文件(磁盘碎片整理工具)由Black Hawk 汉化软件语言,绿色单文件版,去掉菜单在线帮助,软件下方在线帮助.检查更新.Defraggler中文版是一个轻量级的整理工具,但它可以快速高效的整理某个磁盘.文件夹甚至一个文件.也可以对硬盘进行查错,Defraggler对系统资源占用极小.无需添加系统服务,用起来也实在是太简单. 百度下载:http://pan.baidu.com/s/1o6wS8Bo 百度指导:http://dwz.cn/spjIn

Defraggler磁盘碎片整理工具,让你的电脑读写速度更快

相信大家都听说过磁盘碎片整理吧,所谓磁盘碎片,通俗的来说,就是指计算机中的各种文件最开始在磁盘中存储的时候地址都是连在一起的,但是随着文件 的多次读写,或者说多次的移动复制等操作,这些文件在磁盘中的地址已经不连续了,这些不连续的文件就成为磁盘碎片,不连续带来的后果就是让你的电脑读写文 件的速度变慢,所以今天就给大家分享一款磁盘碎片整理的软件——Defraggler,它能他这些碎片重新组合起来,让文件的地址又变成连续的,这样就能 加快文件的读写速度. 软件截图: 百度百科介绍:Piriform 公

Exchange 2010 数据库磁盘碎片整理

第一步 进入Exchange 2010安装目录下的bin目录 可以在Exchange 2010 Powershell中使用命令cd $Exscripts 进入Exchange安装目录的Scripts目录然后输入cd ..和cd .\bin进入bin目录.如图. 第二步 卸载数据库 打开Exchange 2010 EMC控制台,选择数据库,将数据库卸载.如图. 第三步 使用命令整理数据库文件 在Exchange 2010 Powershell中使用命令 eseutil /d "E:\Exchang