Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

problème de charge disque

59 réponses
Avatar
Gaëtan PERRIER
Bonjour,

J'utilise une debian testing, pour l'instant bloqu=E9e en stable, donc ce n=
'est
pas une installation r=E9cente. Depuis quelques temps je rencontre des prob=
l=E8mes
de charge disque =E0 certains moments. Par exemple quand je ferme certaines
applications (gthumb, gedit, ...) j'ai une forte activ=E9 disque (100%) pen=
dant
quelques secondes. Autre exemple, Virtualbox. Quand celui-ci fait des acc=
=E8s
disques =E7a monte =E0 100% pendant tout le temps d'un download internet, e=
tc.

Bref j'y perds le peu de latin que j'ai ...

Je ne sais pas par quel bout prendre le probl=E8me pour en trouver la cause.
Auriez-vous une id=E9e ?

Ga=EBtan

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers debian-user-french-REQUEST@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmaster@lists.debian.org
Archive: https://lists.debian.org/20150430231523.9cf5764fd8393631c315d9aa@neuf.fr

10 réponses

1 2 3 4 5
Avatar
Erwan David
Le 01/05/2015 17:26, Francois Lafont a écrit :
Le 01/05/2015 16:14, Sylvain L. Sauvage a écrit :

et dd if=/dev/zero of=/dossier/sur/le/disque bs=(au choix).






[...]

3. La sortie est un fichier plein de zéros, donc, sur un système
de fichiers moderne, il n’y a rien d’écrit sur le disque (à part
une entrée qui dit que le fichier est plein de X zéros).


Tu es sûr de ça ? Par exemple, sur ma Debian Wheezy j'ai :

-------------------------------------------------
~$ echo Salut > /tmp/out

~$ od -Ad -x /tmp/out
0000000 6153 756c 0a74
0000006

~$ dd if=/dev/zero of=/tmp/out bs0c count=1
1+0 enregistrements lus
1+0 enregistrements écrits
100 octets (100 B) copiés, 9,6205e-05 s, 1,0 MB/s

~$ od -Ad -v -x /tmp/out
0000000 0000 0000 0000 0000 0000 0000 0000 0000
0000016 0000 0000 0000 0000 0000 0000 0000 0000
0000032 0000 0000 0000 0000 0000 0000 0000 0000
0000048 0000 0000 0000 0000 0000 0000 0000 0000
0000064 0000 0000 0000 0000 0000 0000 0000 0000
0000080 0000 0000 0000 0000 0000 0000 0000 0000
0000096 0000 0000
0000100
-------------------------------------------------

sachant que /tmp se trouve sur ma partition racine qui est en ext4.
À moins que ext4 ne soit peut-être pas assez « moderne » pour supporter
la fonctionnalité dont tu parles ? Ou alors c'est la commande od qui
ne m'indique pas le contenu du fichier tel qu'il est réellement ?



Deuxième solution : od demande les octets au filesystem, qui va lui
donner autant de zéro que nécessaire. Il faudrait aller voir directement
dans les blocs du disque.

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: https://lists.debian.org/
Avatar
Francois Lafont
Le 01/05/2015 16:59, Gaëtan PERRIER a écrit :

Je vois beaucoup d'await (>300 voir même 1000) sur sdb5 et 7 soit /home et /tmp
quand je ferme gthumb par exemple.



Je doute fort que ce soit la cause de tes soucis mais je vois l'option
de montage "relatime" sur tes partitions /home et /tmp. As-tu vraiment
besoin du atime ? En général il est inutile et peut diminuer les perfs.
Perso, sur du ext4 je mets en général "noatime,defaults" comme options
de montage.

Sinon, il faudrait que tu regardes avec un simple dd (pour commencer)
les perfs au niveau du disque contenant /home et /tmp.

--
François Lafont

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: https://lists.debian.org/mi06rc$g56$
Avatar
Gaëtan PERRIER
Le Fri, 01 May 2015 17:41:32 +0200
Francois Lafont a écrit:

Le 01/05/2015 16:59, Gaëtan PERRIER a écrit :

> Je vois beaucoup d'await (>300 voir même 1000) sur sdb5 et 7 soit /ho me
> et /tmp quand je ferme gthumb par exemple.

Je doute fort que ce soit la cause de tes soucis mais je vois l'option
de montage "relatime" sur tes partitions /home et /tmp. As-tu vraiment
besoin du atime ? En général il est inutile et peut diminuer les perf s.
Perso, sur du ext4 je mets en général "noatime,defaults" comme options
de montage.




relatime c'est l'option par défaut sur debian. Si elle devait vraiment po ser
un tel problème je doute qu'elle soit par défaut, non ?

Gaëtan

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: https://lists.debian.org/
Avatar
mireero
On 05/01/2015 04:20 PM, Sylvain L. Sauvage wrote:
Le vendredi 1 mai 2015, 15:13:49 Gaëtan PERRIER a écrit :
[…]
et dd if=/dev/zero of=/dossier/sur/le/disque bs=(au choix).



Oui mais tu mesures comment ?



Une fois fini, dd t’indique le nombre de blocs et d’octets
écrits, le temps écoulé et le débit.

De légers problèmes avec la commande indiquée :

1. il n’y a pas d’option count, donc ça ne termine pas. Ça peut



Dac, un simple oubli, simple à corriger par l'op

se défendre si on veut voir ce qu’il se passe sur le disque
pendant que dd fait son boulot…

2. La source est virtuelle, donc on ne teste pas la lecture.



Pas de p pour la lecture, on le fait dans l'autre sens comme je l'ai
indiqué plus loin mais pas en même temps sinon on aura des accès
concurrents lecture/écriture.

3. La sortie est un fichier plein de zéros, donc, sur un système
de fichiers moderne, il n’y a rien d’écrit sur le disque (à part
une entrée qui dit que le fichier est plein de X zéros).



Jamais entendu parlé de ça, en tout cas ça ne concerne pas ext4 (ou
alors tu m'expliques pourquoi on a un ratio ~10 ici) :

dd if=/dev/zero of=/home/moi/temp.zero bs=1M count000
10000+0 records in
10000+0 records out
10485760000 bytes (10 GB) copied, 107.59 s, 97.5 MB/s

dd if=/dev/zero of=/home/moi/temp.zero bs=1M count00
1000+0 records in
1000+0 records out
1048576000 bytes (1.0 GB) copied, 10.1122 s, 104 MB/s


En résumé : ça ne lit rien, ça n’écrit rien et ça ne s’arrête
pas.



Conséquence : pas pertinent


Pour ton problème, tu as vérifié/modifié les paramètres hdparm
(mise en veille…) ?




Cordialement

--
mireero

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: https://lists.debian.org/5543a49f$0$3041$
Avatar
Gaëtan PERRIER
Le Fri, 01 May 2015 14:48:20 +0200
mireero a écrit:

On 05/01/2015 02:30 PM, Gaëtan PERRIER wrote:
>> Tu peux aussi faire des tests d'écriture sur chacun de tes disques
>> >pour te faire une comparaison?
> De quelle manière ?

Peut-être hdparm -tT /dev/disk
et dd if=/dev/zero of=/dossier/sur/le/disque bs=(au choix).

J'imagine qu'il y a mieux comme benchmark mais ça pourrait être un d ébut.




rien d'anormal en écriture:
dd if=/dev/zero of=/home/gpe/temp.zero bs=1M count000
10000+0 enregistrements lus
10000+0 enregistrements écrits
10485760000 octets (10 GB) copiés, 68,9717 s, 152 MB/s

en lecture je doute que ce test soit pertinent vu les perf qu'il indique:
dd if=/home/gpe/temp.zero of=/dev/null bs=1M count000
10000+0 enregistrements lus
10000+0 enregistrements écrits
10485760000 octets (10 GB) copiés, 1,01603 s, 10,3 GB/s

Gaëtan

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: https://lists.debian.org/
Avatar
Francois Lafont
Le 01/05/2015 17:46, Erwan David a écrit :

Deuxième solution : od demande les octets au filesystem, qui va lui
donner autant de zéro que nécessaire.



Oui, c'est vrai.

Il faudrait aller voir directement dans les blocs du disque.



Y a-t-il un moyen de faire ça simplement ? Perso je ne sais pas faire.
Ça m'amuserait de savoir faire cela. Par exemple avec "hexcurse /dev/xxx"
je sais regarder le contenu d'un device en hexadecimal mais par contre
comment savoir où se trouve la zone à regarder correspondant à un fichier
donné ?

Avec la commande stat, je peux connaître le numéro d'inode du fichier
ainsi que son numéro de bloc mais ensuite je ne sais pas comment l'exploiter
pour connaître l'endroit correspondant au fichier dans le bloc device.

--
François Lafont

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: https://lists.debian.org/mi0ab8$bd0$
Avatar
Sylvain L. Sauvage
’soir,

Sur ce que j’ai dit avant (fichiers à trous, plein de zà ©ros) :
http://en.wikipedia.org/wiki/Sparse_file

En revanche, le dd tel que proposé n’en crée pas. M ea culpa.
(Mais ça n’empêche pas que c’est un test qui n’indique pas
grand-chose :oP )

Pour ceux que veulent savoir si un fichier occupe réellement
de la place sur le disque, voir l’option -k de ls :
ls -lks indique le nombre de blocs utilisés en première colon ne.

Le vendredi 1 mai 2015, 17:57:29 Gaëtan PERRIER a écrit :
[…]
en pièce jointe le résultat de bonnie++ mais je ne sais pas
trop comment ça s'interprète ?



Explication des tests :
→ /usr/share/doc/bonnie++/readme.html

Pour chaque test (man bonnie++) :
For every test two numbers are reported, the amount of
work done (higher numbers are better) and the percentage
of CPU time taken to perform the work (lower numbers are
better). If a test completes in less than 500ms then the
output will be displayed as "++++". This is because
such a test result can't be calculated accurately due to
rounding errors and I would rather display no result than
a wrong result.

Les résultats sont dans un tableau ascii.
Tu peux prendre les lignes pleines de virgules à la fin et les
passer par bon_csv2html pour avoir un tableau un peu plus
lisible en HTML.

Comme pour beaucoup de résultats, ce qui est le plus
intéressant, c’est de comparer avant/après ou deux sy stèmes
proches.

De ce que j’en peux dire, tes chiffres m’ont l’ air corrects
pour les débits (~100 Mio/s en écriture, ~200 Mio/s en lectur e
et très peu d’usage du CPU) mais énormes pour les lat ences (1 à
2 secondes !).

Donc tu aurais un gros problème de latence (temps d’accà ¨s). Ce
qui est très très embêtant quand on lit/écrit beauc oup de
fichiers (genre une installation).

Bon, maintenant, il faut trouver d’où ça vient†¦

--
Sylvain Sauvage

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: https://lists.debian.org/
Avatar
Ga
Le Fri, 01 May 2015 20:18:51 +0200
"Sylvain L. Sauvage" a écrit:

’soir,

Sur ce que j’ai dit avant (fichiers à trous, plein de zéros) :
http://en.wikipedia.org/wiki/Sparse_file

En revanche, le dd tel que proposé n’en crée pas. Mea culpa.
(Mais ça n’empêche pas que c’est un test qui n’indique pas
grand-chose :oP )

Pour ceux que veulent savoir si un fichier occupe réellement
de la place sur le disque, voir l’option -k de ls :
ls -lks indique le nombre de blocs utilisés en première colonne.

Le vendredi 1 mai 2015, 17:57:29 Gaëtan PERRIER a écrit :
>[…]
> en pièce jointe le résultat de bonnie++ mais je ne sais pas
> trop comment ça s'interprète ?

Explication des tests :
→ /usr/share/doc/bonnie++/readme.html

Pour chaque test (man bonnie++) :
For every test two numbers are reported, the amount of
work done (higher numbers are better) and the percentage
of CPU time taken to perform the work (lower numbers are
better). If a test completes in less than 500ms then the
output will be displayed as "++++". This is because
such a test result can't be calculated accurately due to
rounding errors and I would rather display no result than
a wrong result.

Les résultats sont dans un tableau ascii.
Tu peux prendre les lignes pleines de virgules à la fin et les
passer par bon_csv2html pour avoir un tableau un peu plus
lisible en HTML.



Effectivement c'est plus lisible ainsi :)
Si je lis bien il y a jusqu'à 30s de latence !!!???


Comme pour beaucoup de résultats, ce qui est le plus
intéressant, c’est de comparer avant/après ou deux systèmes
proches.

De ce que j’en peux dire, tes chiffres m’ont l’air corrects
pour les débits (~100 Mio/s en écriture, ~200 Mio/s en lecture
et très peu d’usage du CPU) mais énormes pour les latences (1 à
2 secondes !).



Ce qui expliquerait les ralentissements lors de la fermeture de logiciels qui
souvent écrivent de petits fichiers (conf, état, etc.).


Donc tu aurais un gros problème de latence (temps d’accès). Ce
qui est très très embêtant quand on lit/écrit beaucoup de
fichiers (genre une installation).

Bon, maintenant, il faut trouver d’où ça vient…



Je sens que ça ne va pas être simple :(

Bonnie++ donne quoi sur vos machines, histoire d'avoir un point de
comparaison ?

Gaëtan

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: https://lists.debian.org/
Avatar
Ga
J'ai regardé du côté du firmware s’il n'y avait pas une mise à jour.
Sur le site de seagate ça me dit que non mais si je recherche mon modèle
(ST2000DM001-1E6164) sur internet je vois une version de firmware CC45
alors que le mien est en CC28 ...

Gaëtan

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: https://lists.debian.org/
Avatar
Francois Lafont
Bonsoir,

Le 01/05/2015 21:50, Gaëtan PERRIER a écrit :

Je sens que ça ne va pas être simple :(



Et non, optimiser (ou débuger) des problèmes de perfs sur un filesystem
je trouve que c'est ce qu'il y a de plus dur à diagnostiquer, d'autant
plus que la cause peut parfaitement n'avoir aucun rapport avec le
filesystem.

Bonnie++ donne quoi sur vos machines, histoire d'avoir un point de
comparaison ?



Voici ce que ça donne chez moi sur le disque système de mon PC (en ext4
avec l'option de montage noatime) :

http://sisco.laf.free.fr/divers/bonnie.html

C'est un disque SATA que j'ai dû acheter en même temps que mon PC perso
il y a sans doute 5 ou 6 ans. Je pense que les perfs au niveau des I/O
sur mon système sont loin d'être excellentes. En pratique il m'arrive
d'ailleurs parfois de constater quelques lenteurs quand le disque est pas
mal sollicité mais par rapport à mon usage au quotidien je n'ai jamais eu
à me plaindre et ça me suffit largement.

Tu peux voir que mes latences sont quand même assez nettement inférieures
aux tiennes (et je pense qu'elles ne sont déjà pas top dans l'absolu).

Au passage, je suis surpris du temps %CPU utilisé pour les écritures
séquentielles en mode « par caractères » : 97% dans mon cas et toi tu
avais 79%. Alors qu'en mode par blocs par exemple ça retombe à 7%. Si
quelqu'un a une explication sur ce phénomène, je serais curieux de la
connaître.

Bref, pour en revenir à ton problème, je trouve quand même curieux que
du jour au lendemain tu te retrouves avec des perfs pourries comme ça.
J'ai du mal à imaginer un problème matériel (mais j'ai peut-être tort)
et je pense que si tu avais fait des modifs particulières au niveau des
disques (genre options de montages etc.) tu n'aurais pas manqué de nous
le signaler. Tu ne sais pas si tes problèmes de perfs sont apparues au
même moment qu'une mise à jour particulière ou qu'une install particulière
par hasard ? À moins que l'apparition des perfs pourries se soient
faites petit à petit ?

N'y aurait-il pas un process qui tourne en arrière plan et qui sollicite
ton disque sans arrêt de sorte que ça te plombe tes I/O ? Attention, il
ne faut pas se limiter à la partition /home de ton disque mais à bien
regarder sur toutes les partitions de ton disque. Parce que si une
partition se fait bourriner sans arrêt par un process ça va impacter
toutes les partition du disque forcément (vu qu'au final c'est la même
tête de lecture qui trinque). Pour écarter ce genre d'hypothèse, perso,
je pense qu'à ta place je redémarrerais le système en mode « recovery »
avec juste une console root (le truc le plus minimaliste possible quoi),
ensuite je démonterais *toutes* les partitions du disque suspect, puis
je remonterais uniquement la partition /home mais au niveau d'un répertoire
différent de /home justement (par exemple /home_tmp) puis je tenterais un
nouveau test bonnie++ (exactement le même que celui que tu as déjà effectué
précédemment).

Je vois que ton disque contient les partitions /home, /tmp et /srv si je ne
dis pas de bêtise. Par exemple, /srv, il te sert à quelque chose ? Il y a des
trucs qui tournent là-dessus ?

--
François Lafont

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: https://lists.debian.org/mi13cc$37v$
1 2 3 4 5