Comment savoir quel processus monopolise mon processeur lorsqu'ils ne totalisent pas 100%?

9

L'applet System Monitor d'Ubuntu affiche 100% d'utilisation du CPU en continu. Si je clique dessus, l'onglet ressources l'affiche à 100% en continu également. Si je vais aux processus, cependant, pour savoir quel processus est le coupable, il n'y a rien au-dessus de 10%. Si je cours en haut, il n'y a rien au-dessus de 10%. Les processus individuels ne totalisent pas 100%. J'essaie de tuer beaucoup de processus, mais l'utilisation globale reste à 100%. Comment puis-je savoir ce qui accapare le processeur?

texte alternatif

Il s'agit d'une situation inhabituelle sur un ordinateur que j'utilise quotidiennement, qui n'est jamais proche de 100% du processeur, sauf si je fais quelque chose qui l'exige (comme le chargement de 32 onglets Firefox), après quoi il revient à un niveau d'inactivité normal. Ce n'est pas une nouvelle installation ou quoi que ce soit. Il n'y a aucune raison que le processeur soit au maximum. Je ne sais pas quand cela a commencé ou si j'ai changé quelque chose qui a provoqué cela.

Normalement, j'utilisais top ou System Monitor et je trouvais le processus qui était devenu incontrôlable, mais je ne trouve rien avec ces outils cette fois. Il persiste après les redémarrages et tout.

Et le processeur est évidemment chaud, donc ce n'est pas une lecture erronée.

Mise à jour: j'ai essayé de tuer chaque processus, un à la fois, jusqu'à ce que le problème disparaisse, et tuer vino-server l'a finalement corrigé, même si ce processus n'a jamais dépassé 5%. J'avais activé Remote Desktop il y a quelques jours (et je l'ai évidemment désactivé).

Mais la question demeure: comment un seul processus a-t-il réussi à utiliser 100% du processeur alors que top n'a montré que ce processus à 5%? Comment puis-je identifier des coupables comme celui-ci à l'avenir?

On dirait que je ne suis pas le seul à avoir eu ce problème:

Toujours un problème à la fois jaunty et karmique. Fait intéressant, System Monitor et htop ne montrent pas que la somme des processus individuels soit proche de 100% cpu.

endolith
la source
2
Votre système est-il également lent? Peut-être une fausse lecture.
Bobby

Réponses:

9

Lorsque vous dites «rien au-dessus de 10%», voulez-vous dire «rien au-dessus de 10%»? Il ne faut que 11 choses à ~ 9% pour atteindre 100% au total.

En outre, une partie du temps CPU utilisé mesuré pourrait être le temps d'attente d'E / S - temps pendant lequel un processus pourrait faire quelque chose mais ne l'est pas parce qu'il attend qu'un périphérique d'E / S réponde (c'est-à-dire qu'il a fait une demande de disque et le disque n'a pas encore trouvé le bon bit de données et l'a renvoyé). En haut, cela peut être vu sur la ou les lignes de CPU comme la mesure% wa. L'état d'attente des E / S est un peu étrange - le CPU n'est en fait pas occupé à faire quoi que ce soit (donc si un autre processus voulait faire des calculs, il pourrait le faire), mais il compte pour les chiffres de charge du système car la charge du système represenets plus que juste le CPU.

Il serait utile d'ajouter la sortie de top -n 1à votre question.

De plus, si votre noyau est suffisamment récent pour disposer de la fonction de comptabilité IO (si vous utilisez une version récente d'Ubuntu, elle devrait l'être) et qu'elle est activée, vous pouvez voir quels processus effectuent activement des opérations d'E / S en exécutant iotop -n 1 -ob(iotop peut ne pas être installé par défaut, si vous ne l'avez pas, essayez d'installer avec apt-get install iotopou en le trouvant dans le gestionnaire de packages GUI.

David Spillett
la source
1
+1 pour avoir demandé à ajouter top -n 1à la question
Tarnay Kálmán
2

J'avais un problème similaire. Le processeur avançait à plein régime et aucun des processus de System Monitor n'a montré quoi que ce soit. J'ai trouvé une réponse en utilisant la commande "top" dans une fenêtre de terminal. Cela a montré qu'apt accaparait mon processeur sans raison valable. Alors pourquoi System Manager n'a-t-il pas montré cela? Il s'avère qu'il y a une option sous Afficher pour tous les processus; le mien a été vérifié comme Mes processus, donc je n'ai jamais vu le coupable. J'espère que cela t'aides.

Ike Hall
la source
0

J'ai le même problème, mais j'ai découvert que Xorg utilisait 50% du CPU alors que cela montrait qu'il [ce bug] pouvait être corrigé avec la commande sudo rmmod ums_realtek. Cette fois, Xorg n'utilisait que 5 à 10% de CPU dans le moniteur système, mais dans l'onglet ressources, il montrait toujours 100%.

Pendant que je surveillais le moniteur système, j'ai vu un clin d'œil d'une racine proses utilisant 100% CPU! Je n'ai pas eu le temps de voir ce que c'était, mais je suis sûr que cela a quelque chose à voir avec cela.

NatureShade
la source
-1

La première question est de savoir si votre système semble lent ou ne répond pas. C'est votre CPU, après tout, vous l'avez payé et vous avez le droit de le faire fonctionner à votre guise. La deuxième question est de savoir si vous essayez simplement d'en faire trop avec votre système et devriez envisager une mise à niveau si possible. Ma première boîte Linux avait un 486 lent, et c'était vraiment facile de le compléter. Si vous utilisez un OLPC XO, par exemple, vos ressources sont réellement limitées.

Sérieusement, il est peu probable que vous exécutiez simultanément de nombreux porcs de ressources excessives. Si aucun processus ne prend plus de 10%, votre système est grignoté à mort par des canards et vous ne pourrez pas réduire la charge sans réduire ce que vous faites.

Cela étant dit, vérifiez vos services système et désactivez ceux que vous ne voulez pas. Pensez à désinstaller ceux dont vous êtes vraiment sûr de ne pas vouloir ( sudo apt-get remove foo). Surtout si vous surchargez le système, toute réduction de charge ne peut que vous aider. Essayez de quitter les programmes que vous n'utilisez pas.

S'il y a un processus qui utilise tous les CPU disponibles, essayez de le trouver en exécutant top et en notant le pourcentage de ressources que les processus principaux utilisent. Lorsque vous en tuez quelques-uns, voyez si l'un se lève plus rapidement que les autres. Bien sûr, tuer un tel processus ne vous coûtera pas beaucoup, car ce n'est pas plus de 10% de la charge.

David Thornley
la source
Si j'utilisais le CPU, je le saurais. Il ne fonctionne pas à 100% en continu pendant le fonctionnement normal, et il ne devrait certainement pas lorsque j'ai fermé tout ce à quoi je peux penser qui pourrait l'utiliser.
endolith
-1
  1. apt-get install cpufrequtils
  2. ouvert /etc/rc.conf
  3. ajoutez ce qui suit aux MODULES: MODULES=(# vos-modules-ne-touchez pas #acpi-cpufreq cpufreq_ondemand cpufreq_performance)
  4. Redémarrer

Après le redémarrage, vous devez exécuter cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governorspour voir quels modules sont chargés.

Pendant le travail, vous pouvez changer les gouverneurs selon vos besoins. Par exemple:

  • cpufreq-set -r -g ondemand

Vous pouvez utiliser l'un des gouverneurs suivants:

  • performances : il court le CPU à l' horloge max (module: cpufreq_performance)
  • ondemand : commute dynamiquement entre le processeur (s) des vitesses d'horloge disponibles sur la base de la charge sys ( le module: cpufreq_ondemand)
  • conservateur : similaire à ondemand, mais les commutateurs CPU vitesse d'horloge (s) peu à peu à travers toutes les fréquences disponibles (fonction de la charge sys) (Module: cpufreq_conservative)
  • PowerSave : CPU (s) fonctionne à la vitesse minimale (module: cpufreq_powersave)
  • espace utilisateur : permet à l'utilisateur de régler manuellement la vitesse d'horloge du processeur. ( le module: cpufreq_userspace)

Si vous utilisez GNOME2, il y a une applet, ce qui est incroyable.

  1. Faites un clic droit sur votre panneau
  2. Ajouter une applet
  3. commencez à taper:, CPUvous devriez pouvoir le voir :)
  4. Cliquez sur Add

En utilisant cette applet, vous pouvez basculer entre les gouverneurs disponibles (vous les avez ajoutés /etc/rc.confauparavant).

Par exemple, j'utilise ondemandtout le temps, car je n'ai pas besoin de performances complètes pour exécuter eclipse et l'émulateur Android sur mon ArchLinux: P

Summa Summarum - google pour cpufrequtils et apprenez à l'utiliser :) Ce pckg m'a sauvé du temps et de l'argent; D

À votre santé!

Nikola
la source