Existe-t-il un moyen de savoir à partir du terminal quel processus provoque une utilisation élevée du processeur?
Il serait également utile de classer les processus par ordre décroissant de CPU.
top
affichera ce qui utilise votre CPU. Si vous l'avez installé, htop
vous permet un contrôle plus fin, y compris le filtrage par - dans votre cas - CPU
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
En plus des commandes ps
et top
, vous pouvez également exécuter vmstat
pour 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 r
ou b
a un nombre (supérieur = plus de ressources utilisées), il y a un script qui bloque. r
est CPU, b
est généralement IO blocage tel que disque ou 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
Vous pouvez probablement utiliser ps xo pid,cmd --sort=%cmd | tail -1
, mais top
s'affichera en temps réel.
" 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!