Question Kworker, qu'est-ce que c'est et pourquoi est-ce que ça grouille autant de CPU?


J'ai récemment mis à jour le Beta 1 Kubuntu Natty et j'ai eu beaucoup de problèmes avec le processus kworker. À certains moments, il utilise presque la moitié de mon processeur. Aussi, étrangement, cela semble affecter mes ports USB; chaque fois que je branche un lecteur USB, le processus kworker passe en hyperdrive, me laissant incapable de travailler.

J'ai pensé à déposer un bug mais comme je n'ai même pas trouvé d'explication raisonnable sur ce que kworker C'est que je pensais que je devrais d'abord découvrir.


110
2018-04-05 13:57


origine


Étrange, kworker est en train de courir et de contribuer aux wakeups de 10% mais je n'ai aucun programme Kubuntu installé. Alos Nepomuk n'est pas installé. - dago
d'après la réponse de afrazier, je pense maintenant que cela a quelque chose à voir avec le noyau (donc le k dans kworker est pour le noyau). C'est pourquoi kworker fonctionne également sur votre machine Ubuntu. - davorao
Cette réponse peut également être utile pour découvrir ce que fait un travailleur: unix.stackexchange.com/questions/22851/… - anarcat
Vous n'auriez pas dû prendre cette dernière mise à jour du système d'exploitation. Si vous êtes chanceux, le prochain le réparera. - nobar


Réponses:


"kworker" est un processus réservé aux threads de travail du noyau, qui effectuent la plupart du traitement réel pour le noyau, en particulier dans les cas où il y a des interruptions, des minuteries, des E / S, etc. système "temps à l'exécution des processus. Ce n'est pas quelque chose qui peut être retiré du système en toute sécurité, et qui n'a aucun lien avec nepomuk ou KDE (sauf que ces programmes peuvent faire des appels système, ce qui peut nécessiter une action du noyau).

Il y a eu des rapports d’activité kworker excessive pour des systèmes inactifs à partir du développement 2.6.36 (exemple de discussion), et de nombreux rapports de confusion et de problèmes avec 2.6.38 (bien que beaucoup de ces rapports incluent le mot "Natty", je suppose donc que ces personnes n’ont utilisé aucun noyau entre 2.6.35 (distribué dans Ubuntu 10.10) et 2.6. 38 (distribué dans Ubuntu 11.04).

J'ai trouvé beaucoup de rapports de quelque chose qui "corrige" ceci pour un ou un autre utilisateur. La plupart des "correctifs" semblent être liés aux mises à jour du noyau de différentes sortes. Lorsque la mise à jour peut être suivie vers un problème spécifique, il semble souvent y avoir un service de pilote ou de noyau non corrigé: j'ai l'impression qu'il existe un très grand nombre d'éléments dans le noyau susceptibles de provoquer un comportement. ce qui est observé comme un usage excessif de kworker.

Si vous trouvez que le système est inutilisable en raison d'une activité professionnelle excessive, je vous recommande d'essayer de faire moins de choses. Si vous pensez que vous ne faites rien, essayez de fermer les services ou les minuteurs de longue durée (lecteurs RSS, lecteurs de courrier, indexeurs de fichiers, suiveurs d’activité, etc.). Si cela ne fonctionne pas, essayez de redémarrer. Si votre système vous permet d'activer ou de désactiver le matériel dans un environnement de pré-démarrage, essayez de désactiver le matériel que vous n'utilisez pas. Si cela se produit à chaque redémarrage avant de faire quoi que ce soit, vous pouvez essayer de désinstaller les choses, mais à ce stade, vous voudrez utiliser les outils de profilage syscall pour rechercher les applications spécifiques qui semblent être à l'origine de cette surcharge.

Il est à espérer que votre système spécifique cessera d'exprimer ce comportement avec une future mise à niveau du noyau (et la plupart des causes les plus courantes ont été résolues).


94
2017-07-08 10:44



J'ai un problème de connexion lent qui est lié à cela. Je parviens à le contourner en retardant tout ce qui est lancé de cette manière: askubuntu.com/a/484856/46437 - Aquarius Power
C'est peut-être superflu, mais bravo pour une réponse très clairement articulée. C'est un anglais finement exprimé, monsieur. - Jon Carter


Qu'est-ce que kworker?  kworker signifie un processus du noyau Linux faisant du "travail" (traitement des appels système). Vous pouvez en avoir plusieurs dans votre liste de processus: kworker/0:1 est celui de votre premier cœur de processeur, kworker/1:1celui de votre seconde etc.

Pourquoi kworker bloque-t-il votre CPU? Pour savoir pourquoi un kworker gaspille votre CPU, vous pouvez créer des backtraces CPU: surveillez la charge de votre processeur (avec top ou quelque chose) et dans les moments de forte charge à travers kworker, exécuter echo l > /proc/sysrq-trigger créer un backtrace. (Sur Ubuntu, vous devez vous connecter avec sudo -s). Faites cela plusieurs fois, puis observez les backtraces à la fin de dmesg sortie. Voyez ce qui se passe fréquemment dans les backtraces du processeur, cela vous indique la source de votre problème.

Exemple: e1000e. Dans mon cas, j'ai trouvé une trace comme celle-ci presque chaque fois:

Call Trace:
 delay_tsc+0x4a/0x80
 __const_udelay+0x2c/0x30
 e1000_acquire_swflag_ich8lan+0xa2/0x240 [e1000e]
 e1000e_read_phy_reg_igp+0x29/0x80 [e1000e]
 e1000e_phy_has_link_generic+0x85/0x120 [e1000e]
 e1000_check_for_copper_link_ich8lan+0x48/0x930 [e1000e]
 e1000e_has_link+0x55/0xd0 [e1000e]
 e1000_watchdog_task+0x5e/0x960 [e1000e]

Cela m'a fait penser à un problème dans le e1000e Module de carte Ethernet, et même un sudo rmmod e1000e fait disparaître immédiatement la charge élevée du processeur [e1000e bug # 26].


68
2018-02-17 02:42



echo l > /proc/sysrq-trigger semble ne pas fonctionner sur le dire proxmox sysrq: SysRq : This sysrq operation is disabled. Malheureusement. - hak8or
sysrq doit être réactivé avec sysctl -w kernel.sysrq = 1 voir askubuntu.com/questions/911522/… - Sebastien


Pourquoi kworker cogne-t-il votre CPU (suite)? Au lieu de mon autre réponse ici, Perf est un moyen plus professionnel d’analyser quelles tâches du noyau accaparent votre processeur:

  1. Installer perf:

    sudo apt-get install linux-tools-common linux-tools-3.11.0-15-generic
    

    (Le second paquet doit correspondre à la version de votre noyau. Vous pouvez d’abord installer uniquement linux-tools-common et appelle perf pour le laisser vous dire quel paquet il a besoin.)

  2. Enregistrez environ 10 secondes de backtraces sur tous vos processeurs:

    sudo perf record -g -a sleep 10
    
  3. Analysez votre enregistrement:

    sudo perf report
    

    (Naviguez sur le graphe d’appel avec , , ,  et Entrer.)


52
2018-02-17 15:26



Sur mon système, en cours d'exécution dans une machine virtuelle VMware, en utilisant perf J'ai retracé le problème à la sd_mod module noyau. Désactiver SCSI dans le vmx fichier empêchait le chargement du module et ramena le système à la vitesse normale: scsi0.present = "FALSE" - feklee


Juste pour que tout le monde le sache. J'ai rencontré ce problème, installé perf (qui est un excellent outil), il a souligné le verrouillage de rotation et XFS. Cela a souligné NFS. Puis j'ai réalisé que l'un de mes montures était hors espace. En libérant de l'espace, le processeur Kworker a été réduit à 0.

Donc, apparemment, cela peut être un symptôme de manquer d'espace disque sur un serveur NFS occupé!


5
2018-03-19 13:40



J'ai remarqué que j'avais une crise de kworker quand une virtualbox spécifique fonctionnait. Il s'avère que l'un exécutait un NFS avec mon hôte pour partager des fichiers. Cependant, il était loin d'être complet. Démonter le NFS "résolu" le problème. Je suppose que je vais partager avec un montage sshfs. - Programster


J'ai récemment installé Ubuntu Natty sur un passeport USB wd de disque dur externe. Quand je commence sur mon bureau qui a environ deux ans, tout fonctionne comme un charme. Lorsque je démarre sur mon nouvel ordinateur portable (système MSI gt680r), il se ralentit après le réveil de l'ordinateur ou si je branche un autre disque USB.

Les processus de Kworker prennent de plus en plus de processeurs et la souris se fige de temps en temps.

J'ai lu plusieurs solutions sur divers forums qui ne fonctionnaient pas.

Je suis allé dans le bios de mon ordinateur portable, où il y avait:

Hand XCHI OFF: Enabled
EHCI Hand OFF: disabled

J'ai changé pour:

Hand XCHI OFF: disabled
EHCI Hand OFF: disabled

et depuis ça, il ne gèle plus sur Natty sur mon portable.

Je permettrais de rendre la main si et quand le problème est corrigé.


4
2017-07-01 09:08



Quelqu'un peut-il expliquer pourquoi cela se produit? Comment XCHI est-il connecté? - GuySoft


Je pense que désactiver Nepomuk peut vous aider:

http://www.freetechie.com/blog/disable-nepomuk-desktop-search-on-kde-4-4-2-kubuntu-lucid-10-04/


0
2018-05-06 06:02



merci mais j'ai depuis installé une nouvelle copie de Kubuntu 11.04 et le problème mentionné précédemment a disparu. - davorao
Bien que cela puisse théoriquement répondre à la question, ce serait préférable inclure les parties essentielles de la réponse ici, et fournir le lien pour référence. - fossfreedom♦