Load average énorme à cause d'iowait sur des disques nvme censés être rapides

maurice-cousin 05/10/2024
RÉSOLU

Yo la team. j'ai un truc qui me rend fou. sur des serveurs avec des nvme pcie gen4, je me retrouve avec des load average à 30-40+ et un iowait à 60-70% alors que la charge applicative est pas dingue. en gros, le système attend après le disque. c'est des nvme super rapides et j'ai pas l'impression d'atteindre leurs limites. fio me donne des bons chiffres. mais dès qu'une appli met un peu de pression, BOOM. des pistes ?

# exemple de `top` output
%cpu(s):  0.3 us,  1.2 sy,  0.0 ni, 30.0 id, 68.5 wa,  0.0 hi,  0.0 si,  0.0 st
05/10/2024 à 13:19

10 commentaires

hello. quel scheduler I/O t'utilises pour tes nvme ? pour les nvme c'est mq-deadline qui est recommandé pas le vieux cfq ou deadline qui sont pour les hdd. check avec cat /sys/block/nvme0n1/queue/scheduler

Modifié le 23/05/2026 à 16:20
louis43
Membre
Avatar de louis43
louis43
Membre

ouais +1 pour le scheduler. aussi t'as pas des cgroups ou blk-throttling qui limitent l'i/o à l'insu de ton plein gré ? ça peut masquer les perfs réelles du disque. et t'es sûr que tes filesystems sont bien montés avec les bonnes options (noatime par ex) ?

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

ton disque est pas quasi plein ? un filesystem très plein peut dégrader énormément les perfs d'écriture. et quelle est la nature de ton I/O ? bcp de petits fichiers écrits aléatoirement ou de gros fichiers séquentiels ? les fsync peuvent aussi causer de gros iowait si l'application en fait trop souvent

08/10/2024 à 03:04
foucher-catherine
Membre Actif
Avatar de foucher-catherine
foucher-catherine
Membre Actif

firmware des nvme à jour ? y'a eu pas mal de bugs sur certains modèles de nvme qui créaient des latences énormes sous charge spécifique. check le site du fabricant. et tes queues depth pour les devices, elles sont ok ? nvme smart-log /dev/nvme0n1 peut donner des infos si tu as les outils

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

et quelle version de kernel linux ? des fois c'est juste des fixs de scheduler ou de gestion nvme dans des kernels plus récents qui résolvent le problème. cat /proc/version

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

bordel c'était bien le scheduler ! j'étais en cfq sur un de mes disques et un autre en deadline. j'ai tout passé en mq-deadline avec echo mq-deadline > /sys/block/nvme0n1/queue/scheduler. en plus, un petit kernel upgrade a corrigé quelques trucs liés aux queues depth. maintenant le iowait est redescendu à 5-10% max et le load average est nickel. énorme merci à tous !

Modifié le 23/05/2026 à 16:20
louis43
Membre
Avatar de louis43
louis43
Membre

ah le cfq sur nvme, un classique ! content que t'aies trouvé. ça change la vie

11/10/2024 à 15:25

propre ! content que ça ait aidé. la gestion i/o sur linux c'est subtil

12/10/2024 à 11:04
foucher-catherine
Membre Actif
Avatar de foucher-catherine
foucher-catherine
Membre Actif

nickel pour le retour

13/10/2024 à 07:52

carrément ça m'a sauvé ma semaine là thx !

14/10/2024 à 07:24

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