Processus Java qui bloque l'IO disque sur un VM Linux

Posté par mathilde-tanguy le 10/10/2025
RÉSOLU

mathilde-tanguy

Membre depuis le 14/07/2024

yo les linux gurus ! j'ai une vm ubuntu avec un process java (app spring boot) qui fait tourner l'io wait à fond la caisse parfois. le service tourne pas super vite on a des pics de latence en prod. la vm a 8 coeurs et 16go de ram et c'est sur du ssd nvme. j'ai l'impression que le process java monopolise le disque. comment je peux confirmer ça et ptete le brider un peu ?

# top -i -n 1
# pidstat -d 5 1

Commentaires

vlemaire

Membre depuis le 21/07/2024

regarde iostat -x 1 et iotop pour voir les processus qui bouffent l'io en temps réel. si c'est bien ton java tu peux utiliser cgroups pour limiter l'io de son pid. c'est un peu relou à configurer la première fois mais ça marche bien

frederique-valette

Membre depuis le 15/08/2024

ouais cgroups c'est la bonne solution pour ça. tu crées un groupe pour ton service java et tu lui alloues un quota d'io. ça se fait via blkio.weight ou blkio.throttle.read_bps_device blkio.throttle.write_bps_device pour des limites en bps

mathilde-tanguy

Membre depuis le 14/07/2024

ok je connaissais pas les cgroups pour l'io. ça a l'air de correspondre à mon besoin. vous avez un exemple de conf rapide pour blkio.weight ?

vlemaire

Membre depuis le 21/07/2024

vite fait tu fais mkdir /sys/fs/cgroup/blkio/java_app puis echo <PID_JAVA> > /sys/fs/cgroup/blkio/java_app/tasks et echo 500 > /sys/fs/cgroup/blkio/java_app/blkio.weight (500 sur 1000 max) ça donnera moins de poids à ce process. faut l'intégrer dans un systemd service pour que ce soit propre au démarrage

mathilde-tanguy

Membre depuis le 14/07/2024

super je vais tester ça en staging. merci pour l'aide les gars c'est top

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