Comment trouver quel processus provoque une utilisation élevée du processeur

30

Existe-t-il un moyen de savoir à partir du terminal quel processus est à l'origine d'une utilisation élevée du processeur?

Il serait également utile de classer les processus par ordre décroissant de CPU.

Gautam
la source

Réponses:

23

topaffichera ce qui utilise votre CPU. Si vous l'avez installé, htopvous permet un contrôle plus fin, y compris le filtrage par - dans votre cas - CPU

jasonwryan
la source
4
Le haut est souvent moins qu'utile. D'abord parce que les processus fluctuent souvent - il n'est pas inhabituel de voir le processus qui occupe complètement l'unité centrale clignoter parfois à 0% en haut, et si vous avez plusieurs processus intensifs en cours d'exécution, ils peuvent alterner, à tour de rôle, utiliser 100% tandis que l'autre utilise 0% , ce qui rend la lecture difficile. De plus, parfois les chiffres sont tout simplement étranges - par exemple, en ce moment, mon top signale que tous les processus individuels utilisent 0% de CPU, mais le total est de 52% - alors lequel le fait?
Benubird
29
ps -eo pcpu,pid,user,args | sort -k1 -r -n | head -10

Fonctionne pour moi, affiche le top 10 des processeurs à l'aide de threads, triés numériquement

chosig
la source
1
Inverser lexicographiquement, 8%
trierait
3
Je recommanderais d'ajouter un -n pour trier. Il trie les valeurs numériquement au lieu de lexicalement. ( ss64.com/bash/sort.html )
Simon Zyx
4

En plus des commandes pset top, vous pouvez également exécuter vmstatpour comprendre ce qui se passe en termes de CPU, d'utilisation de la mémoire sur le système, à savoir:

vmstat 1 100

Avec ce qui précède, vous obtenez 100 échantillons par seconde en dehors de diverses statistiques. Lorsque la colonne rou ba un nombre (supérieur = plus de ressources utilisées), il y a un script qui bloque. rest un processeur, best généralement un blocage d'E / S tel qu'un disque ou un réseau.

Exemple de sortie:

$ vmstat 1 100
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 0  0      0 288700  17592 1920048    0    0  4482  3297   47  155  8  2 78 12  0
 0  0      0 268420  17904 1920584    0    0   788    36 4095 4759 11  3 85  1  0
 0  0      0 269916  17940 1920868    0    0   108   560 6969 7280 11  2 86  1  1
 3  0      0 267684  18196 1921304    0    0   256     0 5934 6094  9  2 90  0  0
 0  0      0 257800  18196 1921528    0    0     0     0 5412 5508 10  1 89  0  1
 1  0      0 257368  18196 1922028    0    0     0     0 5852 6046  9  1 89  0  1
 0  0      0 256872  18200 1922236    0    0     0     0 5345 5566  9  1 90  0  0
 0  0      0 256688  18208 1922292    0    0     0  1788 5388 5602  7  2 90  1  1
 0  0      0 256520  18208 1922684    0    0     0     0 5387 5557  8  1 91  0  0
 1  0      0 255788  18208 1923024    0    0     0     0 4992 5363 10  1 89  0  1
 1  0      0 255392  18208 1923456    0    0     0     0 5027 5145 13  1 86  0  0
 0  0      0 254980  18208 1923792    0    0     0     0 5042 5082 21  1 77  0  1
 0  0      0 254452  18216 1924092    0    0     0  1848 5481 5695  7  1 91  1  1
 0  0      0 254416  18216 1924268    0    0     0     0 4947 5250  7  1 92  0  0
 1  0      0 253732  18216 1924616    0    0     0     0 5180 5383  8  2 90  0  1
 0  0      0 253584  18216 1924912    0    0    12     0 4464 4623  8  1 91  0  0
 0  0      0 243496  18216 1925224    0    0     0     0 5507 5700  9  1 90  0  1
 0  0      0 243008  18224 1925504    0    0     0  1356 5070 5345  8  1 90  0  1
 1  0      0 243220  18228 1925676    0    0     0     0 6241 6533 11  2 87  0  0
radtek
la source
2

Vous pouvez probablement l'utiliser ps xo pid,cmd --sort=%cmd | tail -1, mais tops'affichera en temps réel.

Arcege
la source
2

" htop " est similaire à top, mais a un affichage "graphique en texte coloré" de vos CPU, et affiche également une structure arborescente pour les processus, donc vous savez qu'un processus a un enfant et combien.

Il affiche également la puissance de la batterie de l'ordinateur portable et indique si elle est en charge - je ne le savais pas avant!

KolonUK
la source