Cómo desfragmentar en Linux

Banner de defragmentación en linux

Aunque siempre ha corrido el rumor de que los sistemas de ficheros de Linux, basados principalmente en las versiones de extend u otros sistemas con journal como JFS, ZFS, XFS o ReiserFS, no requieren desfragmentación, sí es cierto que con el tiempo su operatividad se va volviendo más lenta por la dispersión de los datos. Aunque su impacto nunca llega a ser tan dramático como en los sistemas basados en FAT y NTFS, es algo que podemos solventar fácilmente dentro del sistema si empleamos una herramienta como e4defrag.

E4defrag es una utilidad que se encuentra disponible en la mayoría de distribuciones Linux, incluida Ubuntu, dentro del paquete e2fsprogs. Existen muchas otras que operan de forma similar, pero hemos elegido esta por su sencillez de uso. Para poder instalarla dentro de nuestro sistema sólo es necesario invocar el siguiente comando:

sudo apt-get install e2fsprogs

Una vez se halla instalado el paquete, podremos invocar la utilidad desde línea de comandos si ejecutamos la siguiente sentencia:

sudo e4defrag -c

Como resultado obtendremos una imagen similar a la siguiente que indica un valor de fragmentación de nuestra unidad. Si dicha cifra alcanza una puntuación superior a 30 sería recomendable tratar de reducirla mediante la utilidad que os hemos indicado, y si supera el valor de 56 será necesario actuar lo antes posible.

Vistazo a utilidad e4defrag

Para desfragmentar una unidad deberemos invocar la aplicación con la siguiente secuencia:

sudo e4defrag /ruta

O bien esta otra si queremos actuar sobre todo un dispositivo:

sudo e4defrag /dev/device

Como siempre, os recordamos que es recomendable desmontar los dispositivos o unidades de vuestro sistema sobre los que vayáis a actuar con esta utilidad o alguna similar para evitar la corrupción de datos.

Por último, os animamos a que dejéis vuestros comentarios y nos digáis qué tal os ha funcionado esta aplicación y si habéis notado alguna mejoría en vuestros equipos después de ejecutarla.


Categorías

Tutoriales

Luis Gómez

Ingeniero informático y administrador de sistemas. Es un apasionado de la tecnología en general y de la informática en particular. Le gustan los... Ver perfil ›

14 comentarios

  1. Alicia Nicole San  Alicia Nicole San dijo

    que se gana asiendo eso!!! velocidad o algo ?

    1.    Luis Gómez dijo

      Hola Alicia, efectivamente, la localización de los datos hace que en la misma pasada la cabeza del disco coja la información que posteriormente se va a utilizar y por tanto se acierte en las páginas de memoria que se van a emplear. Esto se traduce en mayor velocidad.

  2.   alicia nicole San dijo

    como hago para desfragmentar mi ubuntu si esta en uso esta herramienta. dice que tiene que estar desmontada no entiendo

    1.    Luis Gómez dijo

      Hola Alicia, revisa el comando umount y aplicalo sobre la unidad o dispositivo que vayas a desfragmentar. Un ejemplo típico del umount es con el CDROM: umount /dev/cdrom.

      Un saludo.

  3. En Windows el desfragmentar ayuda a la búsqueda más rápida de archivos. Imagina un estante lleno de libros, todos juntos. Al quitar uno, queda un vacío. Eso pasa en el disco duro cuando borramos un archivo. Esto tiene como efecto que el sistema sea un poco más lento por el hecho que pierde tiempo buscando, incluso en esos vacíos. El desfragmentar sirve para juntar la información y no queden vacíos. En Linux no ocasiona un gran impact como en Windows. Pero puede ser bueno si llevamos mucho tiempo usándolo.

  4. Alicia Nicole San  Alicia Nicole San dijo

    oh… entiendo gracias. si tenia algo de conosimiento pero en windows. pero en linux se me ase demasiado rapido mas que linux.. a uun que si con el tiempo se ase un poco lento no como windos ahora lo tengo muy lento creo que eso le are a eindoes 🙂 tengo prticionado el disco instalado win y linux. gracias por la info

  5.   fedu dijo

    tengo una memoria kingston usb 3.0 La que utilizaba para instalar ubuntu, pero un día no se que pasó, si fue que saqué la memoria sin desmontarla o no se pero desde ese día quedó se “solo lectura” y desde entonces he vagado por las páginas para ver si puedo recuperar dicha memora (por que es de alta velocidad usb 3) pero nada, como dicen en españa “na de na”, ¿alguien sabe como arreglarla, o por lo menos explicar como evitar que esto vuelva a suceder?

    1.    Rowland Rojas dijo

      ¿Has intentado borrar sus datos con Gparted?

  6. Hola Luis,

    siento decirte que el artículo te ha quedado un poco impreciso.

    Por una parte, no es el tiempo lo que hace que aparezca fragmentación en los sistemas de ficheros, sino los patrones de uso: crear miles de ficheros pequeños y después eliminar algunos de forma aleatoria, escribir archivos muy grandes muy lentamente, etc.; y el grado de ocupación del sistema de ficheros, se menciona un uso por encima del 90% como punto en el que un sistema de ficheros no es capaz de mitigar la fragmentación (aunque no he visto nunca una explicación formal de ese 90%).

    Por otra parte, los comandos que has puesto están cambiados: “e4defrag -c /ruta” muestra la información (count) sobre la fragmentación y “e4defrag /ruta” hace el desfragmentado.

    Para finalizar, dejo por aquí[1] un artículo que explica de forma bastante sencilla un tema tan complejo como el de la fragmentación en sistemas de ficheros; es del 2006 y no menciona estructuras ni métodos como los “extents” o la desfragmentación online pero es fácil de entender.

    Saludos.

    PD: Solo por curiosidad, indicar que tras año y medio de uso y sin realizar desfragmentado de ningún tipo mi sistema tiene un flamante 0% de fragmentación al 79% de uso (Ubuntu 14.04).

    [1]: http://geekblog.oneandoneis2.org/index.php/2006/08/17/why_doesn_t_linux_need_defragmenting

    1.    Luis Gómez dijo

      Hola Miguel Ángel, lo primero agradecerte el apunte. Modifico ahora mismo la sentencia. Como bien indicas, los patrones de uso e incluso antes, la elección del tamaño de cluster o bloque, condicionarán posteriormente este comportamiento en las unidades. Como no es previsible si tendremos en nuestra unidad muchos ficheros pequeños o pocos y grandes se suele tomar el valor por defecto que maneja el sistema.

      Por otra parte indicar que la ganancia de la desfragmentación no está tanto en la compactación de la información como en la buena ordenación seguida de la información. Cuanto menos tenga que saltar las cabezas del disco más velocidad ganaremos (y en general suele ocurrir con ficheros grandes y con bloques seguidos que con muchos pequeños y ubicados al azar por el disco).

      Gracias por leernos.

  7.   zytumj dijo

    Total/best extents 276635/270531
    Average size per extent 252 KB
    Fragmentation score 0
    [0-30 no problem: 31-55 a little bit fragmented: 56- needs defrag]
    This directory (/) does not need defragmentation.
    Done.
    —————————————-
    El ordenador tiene unos 3 años, no está nada mal, ¿no?
    LinuxMint 17.2

    1. Hola zytumj,

      que la fragmentación sea prácticamente inexistente es lo normal en los sistemas de ficheros usados en Linux, “están pensados” para evitarla.

      Realmente no merece la pena realizar un desfragmentado en Linux, estas herramientas son principalmente por si acaso necesitas realizar algún tipo de redimensionado de las particiones, para que no tengas archivos al final de la partición que no te permitan cambiar el tamaño.

      Saludos.

      PD: No lo comenté antes y tampoco lo comenta el artículo, pero si tenéis un disco SSD, desfragmentarlo es una perdida de tiempo indistintamente del sistema de ficheros que uséis.

  8.   zytumj dijo

    Gracias Miguel Ángel.
    No, uso un disco tradicional. Igualmente cuando empecé con GNU/Linux allá por el 2008 ya busqué como desfragmentar y leí que no hacía falta.

    1.    channel unknown dijo

      Ya que tocan el tema de los archivos repartidos por toda la partición y se piense hacer una reducción de la partición. He denotado que usando aplicaciones gráficas como Defraggler u otro desde windows para particiones NTFS en un HDD, muchas veces mo pueden desfragmentar lo suficiente, y cuando lo hacen, es posible que queden archivos hacia el final de la partición.
      Me pregunto si en Linux pueda haber una fragmentación del 0% en una partición Ext4, pero asímismo haya archivos hacia el final de la partición, es decir, que hacia el centro haya espacio vacío.

      Pienso yo, lo ideal de un salvado de datos en una partición, es que se salvasen los datos hacia el centro de la partición hacia afuera. ¿Qué opinan?

Escribe un comentario