Comment voir les I/O bloquées sur un serveur linux

dberthelot 27/03/2026
RÉSOLU
dberthelot
Auteur
Avatar de dberthelot
dberthelot
Auteur

J'ai une application qui est super lente sur un vieux serveur mais le CPU est à 20%. C'est pas le réseau. Je pense que c'est des I/O qui bloquent le bousin. Comment je vois ça rapidement

27/03/2026 à 06:56

4 commentaires

desousa-dominique
Membre Actif
Avatar de desousa-dominique
desousa-dominique
Membre Actif

Regarde iostat -x 1 ça te donne le %util de tes disques et await pour le temps d'attente moyen. Si le %util est proche de 100% tu es bottleneck I/O

iostat -x 1
Modifié le 23/05/2026 à 16:20
vruiz
Membre Actif
Avatar de vruiz
vruiz
Membre Actif

Tu peux aussi utiliser pidstat -d 1 pour voir les I/O par process. Et `strace -p sur ton process qui galère, ça va te montrer les appels système bloquants comme read ou write`

pidstat -d 1
Modifié le 23/05/2026 à 16:20
maurice38
Membre Actif Secouriste
Avatar de maurice38
maurice38
Membre Actif Secouriste

Vérifie aussi le scheduler de ton disque. noop ou deadline sont souvent mieux pour les SSD que cfq. Et si tu es sur une appli moderne qui fait beaucoup de petites I/O, io_uring peut vraiment changer la donne sur les kernels récents

cat /sys/block/sdX/queue/scheduler
Modifié le 23/05/2026 à 16:20
dberthelot
Auteur
Avatar de dberthelot
dberthelot
Auteur

Le iostat a tout de suite montré un %util à 98% sur mon disque. C'était bien ça. On va regarder pour passer sur un SSD et un autre scheduler. Merci pour les outils

Modifié le 23/05/2026 à 16:20

Laisser une réponse

Vous devez être connecté pour poster un message !

Rejoindre la communauté

Recevoir les derniers articles gratuitement en créant un compte !

S'inscrire