Je suis récemment passé à la version 1 de 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 connecte une clé USB, le processus kworker passe en hyperdrive, me laissant incapable de travailler.
J'ai pensé à un bogue, mais comme je n'ai même pas trouvé d'explication raisonnable sur quoi kworker je me suis dit que je devrais le savoir en premier.
"kworker" est un processus fictif pour les threads de travail du noyau, qui effectuent la majeure partie du traitement réel du noyau, en particulier dans les cas d'interruptions, de minuteries, d'E/S, etc. Ils correspondent généralement à la grande majorité des " système "le temps nécessaire pour exécuter les processus. Ce n'est pas quelque chose qui peut être supprimé du système de quelque manière que ce soit, et n'a absolument aucun lien avec nepomuk ou KDE (sauf que ces programmes peuvent faire des appels système, ce qui peut nécessiter que le noyau fasse quelque chose).
Certains rapports font état d’une activité excessive de kworker pour les systèmes relativement inactifs commençant au cours du développement du 2.6.36 ( exemple de discussion ), et de nombreux rapports faisant état de confusion et de problèmes avec le 2.6.38 (bien que beaucoup de ces rapports incluent Word). "Natty", je présume donc que ces personnes n'ont utilisé aucun noyau compris entre 2.6.35 (distribué dans Ubuntu 10.10) et 2.6.38 (distribué dans Ubuntu 11.04).
J'ai trouvé de nombreux rapports de quelque chose qui "corrige" ceci pour un utilisateur ou un autre. La plupart des "correctifs" semblent être liés aux mises à jour du noyau de différentes sortes. Lorsque la mise à jour peut être liée à un problème spécifique, il semble que ce soit souvent un pilote ou un service du noyau qui a été corrigé pour ne pas se conduire mal: j'ai l'impression qu'il y a un très grand nombre d'éléments dans le noyau qui peuvent provoquer un comportement qui est observé comme une utilisation excessive de Kworker.
Si vous trouvez le système inutilisable en raison d'une activité excessive de kworker, je vous recommanderais d'essayer de faire moins de choses. Si vous pensez que vous ne faites rien, essayez d'arrêter les services ou les minuteries 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 du 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 certaines choses, mais à ce stade, vous devrez exécuter des outils de profilage syscall pour localiser des applications spécifiques qui semblent provoquer cette surcharge.
Il est à espérer que votre système spécifique cessera d'exprimer ce comportement lors d'une future mise à niveau du noyau (et la plupart des causes les plus courantes ont été résolues).
Qu'est-ce que kworker? kworker
désigne un processus du noyau Linux effectuant un "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:1
celui de votre deuxième cœur, etc.
Pourquoi kworker ralentit-il votre processeur? Pour savoir pourquoi un kworker gaspille votre processeur, vous pouvez créer des tracés de processeur: surveillez la charge de votre processeur (avec top
ou et dans les moments de forte charge jusqu'à kworker
, exécutez echo l > /proc/sysrq-trigger
pour créer une trace. (Sous Ubuntu, vous devez vous connecter avec Sudo -s
). Faites cela plusieurs fois, puis observez les traces à la fin de la sortie de dmesg
. Voyez ce qui se produit fréquemment dans les traces du processeur, cela vous indique, espérons-le, la source de votre problème.
Exemple: e1000e. Dans mon cas, j'ai trouvé une trace de ce type 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 laissé entendre que le module de la carte Ethernet e1000e
posait un problème. En effet, un Sudo rmmod e1000e
a fait disparaître immédiatement la charge de processeur élevée [ bogue e1000e n ° 26 ].
Pourquoi kworker traine-t-il votre processeur (suite)? Au lieu de mon autre réponse ici , Perf est un professionnel. manière d'analyser les tâches du noyau qui monopolisent votre processeur:
Installez perf
:
Sudo apt-get install linux-tools-common linux-tools-3.11.0-15-generic
(Le second package doit correspondre à la version de votre noyau. Vous pouvez d’abord installer simplement linux-tools-common
et appeler perf
pour le laisser vous indiquer le paquet dont il a besoin.)
Enregistrez environ 10 secondes de traces sur tous vos processeurs:
Sudo perf record -g -a sleep 10
Analysez votre enregistrement:
Sudo perf report
(Naviguez dans le graphe des appels avec ←, →, ↑, ↓ et Enter.)
Juste pour que tout le monde sache. J'ai rencontré ce problème, Perf installé (qui est un excellent outil), il a souligné le verrouillage de rotation et XFS. Cela a désigné NFS. Puis je me suis rendu compte que l’un de mes monts n’était plus assez grand. La libération d’espace a fait chuter le processeur kworker à 0.
Donc, apparemment, cela peut être un symptôme de manque d'espace disque sur un serveur NFS occupé!
J'ai récemment installé Ubuntu Natty sur un lecteur externe USB WD Passport. Lorsque je démarre sur mon ordinateur, qui a environ deux ans, tout fonctionne à merveille. Lorsque je démarre sur mon nouvel ordinateur portable (système MSI gt680r), cela ralentit une fois que l'ordinateur est sorti de veille ou si je branche un autre disque USB.
Les processus 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 la biographie 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, il ne gèle plus sur natty sur mon ordinateur portable.
J'activerais la main si et quand le problème est corrigé.
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/