Membre depuis le 21/03/2023
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 ?
# top output simplifié
Tasks: 297 total, 2 running, 295 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.7 us, 80.2 sy, 0.0 ni, 19.1 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
MiB Mem : 16000.0 total, 1000.0 free, 14000.0 used, 1000.0 buff/cache
MiB Swap: 0.0 total, 0.0 free, 0.0 used. 150.0 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
7 root 20 0 0 0 0 R 80.2 0.0 500:23.45 kworker/u16:4
23456 appuser 20 0 10g 8g 1g S 5.0 50.0 10:00.00 java
Vous devez être connecté pour poster un message !
Recevoir les derniers articles gratuitement en créant un compte !
S'inscrire
Commentaires
joseph-daniel
Membre depuis le 25/05/2024
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 ?
perez-daniel
Membre depuis le 21/03/2023
kernel 5.4.0 sur ubuntu 20.04. c une vm sur proxmox si ça peut aider
raymond28
Membre depuis le 28/05/2024
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
perez-daniel
Membre depuis le 21/03/2023
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
joseph-daniel
Membre depuis le 25/05/2024
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
genevieve-georges
Membre depuis le 22/05/2024
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
perez-daniel
Membre depuis le 21/03/2023
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 !