Regarde l'usage CPU kernel vs user. Si c'est le kernel qui bosse dur, c'est peut-être des interrupts ou des drivers foireux. `htop` est souvent plus parlant que `top` pour ça avec ses vues différentes.
Utilise `perf top`. Ça profile directement les fonctions kernel et userland qui consomment le plus de CPU. Souvent ça pointe vers des problèmes d'I/O ou de networking intenses gérés par le kernel.
sudo perf top
Tu peux aussi regarder les outils `bcc-tools` si tu as eBPF activé. `execsnoop`, `biosnoop` ou `irq_counts.py` peuvent te donner des indices sur les activités système qui pèsent sur le CPU sans apparaître comme des process distincts.
Vérifie les stats d'interruptions avec `cat /proc/interrupts`. Des fois un NIC qui fait n'importe quoi ou un driver défectueux peut spammer les IRQ et manger tout le CPU.
Bon sang c'était les interruptions. Une carte réseau un peu vieille qui faisait n'importe quoi. J'ai passé un coup de `ethtool -K eth0 gro off gso off` pour désactiver l'offload et ça a stabilisé le CPU. `perf top` m'a bien aidé à voir les fonctions kernel incriminées. Merci à tous !
Vous devez être connecté pour poster un message !
Recevoir les derniers articles gratuitement en créant un compte !
S'inscrire
genevieve-georges
Membre depuis le 31/07/2019actif
J'ai un serveur Linux qui monte à 100% CPU mais `top` me montre que tout est à 0% ou presque pour chaque process. C'est quoi ce délire ? Comment je peux trouver ce qui bouffe les cycles ?