kworker c'est des threads génériques du kernel. ça peut être n'importe quoi genre du driver io des appels systèmes du réseau. t'as quelle version de kernel ? et quel distrib linux ?
kernel 5.4.0 sur ubuntu 20.04. c une vm sur proxmox si ça peut aider
regarde dans dmesg y'a peut-être des erreurs ou des warnings. des fois un driver qui galère ou une interruption qui part en sucette ça spamme le kernel et ça fait monter les kworker
dmesg est clean rien de suspect. pas d'erreur d'io sur les disques ou le réseau non plus. c'est vraiment que du kernel time pour ce kworker
t'as essayé de voir quelle queue d'io ou quel périphérique est sollicité ? un iostat -x 1 peut montrer si un disque ou un contrôleur est à fond. sinon blktrace ou perf peuvent te donner plus de détails sur ce que fait ce kworker
perso j'ai déjà eu ça avec un bug de virtiofs sur proxmox ou un pcie pas bien mappé. si c'est une vm regarde les options du driver virtio ou si t'as une carte réseau virtuelle qui déconne. perf record -g -F 99 -a sleep 10 et ensuite perf report ça te montrera la stack trace du kworker
bingo ! c'était un bug connu sur le driver virtio-net. un patch est sorti il y a quelques mois. j'ai mis à jour le kernel de ma vm et l'hyperviseur proxmox. le kworker est redescendu à 0-1% direct. la commande perf m'a bien montré un appel en boucle dans le driver réseau. merci à tous pour les pistes c'était bien relou ce truc !
Vous devez être connecté pour poster un message !
Recevoir les derniers articles gratuitement en créant un compte !
S'inscrire
perez-daniel
Membre depuis le 21/03/2023actif
slt à tous. j'ai un serveur avec une charge système élevée. le top m'indique qu'un process kworker/uX:Y est en train de bouffer un max de cpu. genre 80% du temps. c'est sur une vm linux qui héberge une app java. j'ai pas l'impression que l'app fait des dingueries d'io. c'est quoi ce kworker qui me plombe le serveur ?