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

Posté par dberthelot le 27/03/2026
RÉSOLU

dberthelot

Membre depuis le 19/09/2024

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

Commentaires

desousa-dominique

Membre depuis le 14/06/2019

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

vruiz

Membre depuis le 21/07/2024

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

maurice38

Membre depuis le 13/04/2019

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

dberthelot

Membre depuis le 19/09/2024

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

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