Comment défragmenter son disque sous linux ?

Fermé
mllecha - Modifié par mllecha le 12/10/2011 à 20:56
 sock|rhat - 6 janv. 2012 à 17:24
Bonsoir,
Je cherche à améliorer les performances de mon pc portable, et notamment de défragmenter le disque dur. Mais je ne maîtrise absolument pas Linux...
Quelqu'un sait-il comment s'y prendre ?
Merci d'avance pour vos réponses !
Natacha
A voir également:

2 réponses

dmganges Messages postés 150 Date d'inscription mercredi 29 octobre 2008 Statut Membre Dernière intervention 25 novembre 2013 19
13 oct. 2011 à 11:44
Un système de fichier Unix/Linux se fragmente.

Pour vérifier le niveau de fragmentation on utilise la commande e2fsck alors que le système de fichier est démonté !
ex : pour /dev/sda6

root@sysresccd /root % e2fsck -fv /dev/sda6
e2fsck 1.41.14 (22-Dec-2010)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 3A: Optimizing directories
Pass 4: Checking reference counts
Pass 5: Checking group summary information

EspTravExt2: ***** FILE SYSTEM WAS MODIFIED *****

83418 inodes used (12.72%)
18 non-contiguous files (0.0%)
64 non-contiguous directories (0.1%)
# of inodes with ind/dind/tind blocks: 2528/24/0
528252 blocks used (20.14%)
0 bad blocks
1 large file

60729 regular files
5008 directories
1049 character device files
4089 block device files
0 fifos
4 links
12534 symbolic links (12420 fast symbolic links)
0 sockets
--------
83413 files

Là le système de fichier n'est pas fragmenté :
18 non-contiguous files (0.0%)
64 non-contiguous directories (0.1%)

Lorsque c'est nécessaire, très rare il est vrai, mais cela dépend du type d'utilisation du disque, il faut faire une copie logique du système de fichier.

Cela nécessite un espace suffisant, ailleurs pour faire une copie. Il est nécessaire d'avoir une partition libre, car la partition à défragmenter devra être supprimée et recrée.

NB : une copie physique c'est à dire bloc par bloc n'effectue aucune défragmentation, donc les outils du genre dd, GParted, PartImage... ne conviennent pas.


EX /dev/sda1 partition fragmentée, /dev/sda2 partion de manoeuvre

Les deux partitions étant démontée/
1/ Copie de la partition ailleurs, là on peut utiliser un outil bloc à bloc

dd if=/dev/sda1 of=/dev/sda2 b=1024

Suppression / recréation de la partition /dev/sda1 avec GParted par exemple...

Puis montage des deux partitions
mount /dev/sda1 /home1
mount /dev/sda2 /homebis

et enfin copie logique :

cp -Rp /homebis/* /home1/

le R fait la copie récursive, c'est à dire fichiers, répertoires et sous-répertoires
le p préserve les identifiants propriétaire et groupe
3
pour commencer, ça veut dire quoi que le système de fichiers est démonté ?!
dans tous les cas merci !
0
http://fr.wikipedia.org/wiki/Point_de_montage
0
Un système de fichier Unix/Linux se fragmente.
En gros, plus il est fragmenté, est rempli ou on manipule de gros fichiers dessus, plus il se fragmentera vite.
Globalement le principe de fonctionnement d'un FS linux/unix n'est pas très différent de celui d'un Windows (qui n'a rien inventé), il est juste beaucoup mieux géré, de manière plus logique et surtout plus performante. Une fragmentation à 15% n'amène pas une baisse de performances notable.
Pour éviter une fragmentation rapide, il convient de ne pas dépasser 80% du taux de remplissage et d'écrire les gros fichiers quand il n'est pas beaucoup remplis.

Pour le défragmenter, il n'y a pas d'autres moyens que la méthode de dmganges (attention, ça peut être particulièrement long, surtout avec les tailles de disques d'aujourd'hui).
0
nanor88 Messages postés 34 Date d'inscription lundi 19 avril 2010 Statut Membre Dernière intervention 7 décembre 2011 7
12 oct. 2011 à 21:01
Bonsoir,

Vu que Linux est un système qui ne se défragmente pas ou très très peu, je ne crois pas que la défragmentation y soit.
2
Du coup, quand le pc rame, on ne peut rien faire ?
0
jisisv Messages postés 3645 Date d'inscription dimanche 18 mars 2001 Statut Modérateur Dernière intervention 15 janvier 2017 934
13 oct. 2011 à 01:58
Es-tu certain que cela vient de tes systèmes de fichiers ?
Examine tes processus avec top par exemple , tes connexions avec un outil approprié(il me semble qu'il en existe un semblable à top, mais je ne retombe pas dessus)

Johan
0
Bonjour,

Les systèmes de fichier les plus souvent utilisés sous Linux se défragmentent d'eux-mêmes au fur et à mesure de leur utilisation. Ca ne veut pas dire qu'il n'y a pas de fragmentation sous Linux, mais qu'elle reste très limitée. En fait, elle apparaît surtout sur les volumes qui ne contiennent que des gros fichiers qui ne bougent pas trop (typiquement les volumes de sauvegarde), ce qui n'est pas excessivement grave.

Pour répondre précisément à ta question, la méthode officielle pour défragmenter un filesystem sous Linux, c'est de supprimer/recréer le filesystem !

En conclusion, ton PC ne rame probablement pas à cause de la fragmentation des disques.
Ca peut venir de l'utilisation de la RAM (poste-nous le résultat de la commande free) ou de l'utilisation du CPU et/ou I/O (poste-nous le résultat des commandes vmstat 1 10 et iostat 1 10)
0
Bonjour,
Pour commencer, merci de m'avoir appris qu'il n'y a pas de défragmentation à faire !
Pour info, je suis sous Linux Mint (au cas où ce genre de détail change quelque chose...)
gm, c'est avec plaisir que je t'enverrai les résultats des commandes mais comment je m'y prends pour les trouver ? Désolée, je suis vraiment une bille... J'ai noté free - vmstat 1 10 et iostat 1 10 dans le filtre du menu "démarrer", ça me propose de voir les paquets et aucun n'est installé...
0
Pour taper les commandes, il te faut ouvrir une console.
Apparemment Linux Mint utilise Gnome, donc pour obtenir une console, tu peux faire Alt+F2, puis taper gnome-terminal dans la fenêtre qui s'affiche.
Si ça ne fonctionne pas, essaie de de trouver dans les menus quelque chose comme "console" ou "terminal".

Une fois que tu as la console, passe en root via la commande "su -". Cela te demandera le mot de passe root.
Ensuite, tu peux taper les commandes que je t'ai indiquées. D'ailleurs, remplace free par free -m dans ce que je t'ai indiqué.

Pour fermer la console, tu tapes exit (tu sors de la connexion root), puis encore exit (tu sors de la console).
0