GNU/Linux >> Tutoriels Linux >  >> Linux

Comment enregistrer l'utilisation du processeur par processus ?

Solution 1 :

Vous pouvez essayer de faire quelque chose comme ceci :

while true; do ps -eo pcpu,pid,user,args | sort -k 1 -r | head -10 >> logfile.txt; printf "\n" >> logfile.txt; sleep 3; done

cela vous montrerait les dix meilleurs processus en termes d'utilisation du processeur. Vous pouvez modifier le nombre de processus affichés en remplaçant le 10 dans "head -10" par un nombre différent, et la fréquence de mise à jour en modifiant le 3 dans "sleep 3" ou en supprimant entièrement la partie "sleep 3".

Solution 2 :

Découvrez en haut, il écrira un journal binaire de presque tout ce que vous voudriez, puis vous pouvez utiliser un top comme l'interface graphique pour parcourir les tranches de temps de la journée (la valeur par défaut est de prendre les données toutes les 5 minutes). http://www.atcomputing.nl/Tools/atop/

Solution 3 :

Je pense que munin est l'un des bons outils de surveillance qui vous aidera à obtenir des informations sur les activités de votre box. De plus, il existe des outils en ligne de commande comme sar, iostat, ps, top pour une telle utilisation.

Solution 4 :

Les autres réponses vous ont seulement montré comment vous pouvez regarder ce qui se passe actuellement, ce qui n'aide pas si le système a été redémarré.

Si vous voulez que ces informations soient enregistrées pour la postérité (ou la facturation, ou toute autre utilisation que vous pourriez également avoir), ce que vous voulez, c'est traiter la comptabilité.

Voici un HOWTO que j'ai trouvé, mais je vais être honnête :cela fait une décennie que je n'ai pas utilisé la comptabilité des processus.

http://tldp.org/HOWTO/Process-Accounting/

Solution 5 :

Une approche plus conviviale de la solution de Shawn pour une surveillance en temps quasi réel :

while true; do clear; ps -eo pcpu,pmem,pid,user,args --sort=-pcpu c|head -20; sleep 1; done

Cela fournira une vue statique des 20 principaux processus qui seront actualisés toutes les 1 seconde. L'option "c" dans la commande ps imprimera le nom de l'exécutable du processus plutôt que la commande args entière. Vous pouvez omettre cette option si vous avez besoin de toutes les informations de commande à la place. %la colonne d'utilisation de la mémoire a également été ajoutée.


Linux
  1. Récupérer l'utilisation du processeur et l'utilisation de la mémoire d'un seul processus sous Linux ?

  2. Comment calculer l'utilisation CPU d'un processus par PID sous Linux à partir de C ?

  3. Comment obtenir l'utilisation totale du processeur sous Linux en utilisant C++

  4. Limitation de l'utilisation de la mémoire de processus/du processeur sous Linux

  5. Comment obtenir l'utilisation du processeur

Comment afficher l'utilisation du processeur à partir de la ligne de commande

Comment obtenir l'utilisation du processeur d'un seul processus sous Linux

Comment vérifier l'utilisation ou l'utilisation du processeur Linux

Comment tuer un processus <defunct> avec le parent 1

Comment vérifier l'utilisation des E/S disque par processus ?

Découvrez ce que fait réellement le processus apache à forte utilisation du processeur ?