Je souhaite calculer l'utilisation du processeur% pour un programme donné sous Linux. Disons que je veux calculer la quantité de CPU utilisée par Oracle. Quand je fais ps -elf | grep oracle
je reçois plusieurs processus. Comment puis-je obtenir le résultat cumulatif?Calcul de l'utilisation du processeur d'un programme sous Linux
Répondre
Vous ne pouvez pas faire ps -ef|grep oracle
simple car -ef
affichera des informations complètes sur tous les processus, y compris le chemin de commande. Si vous avez un chemin contenant la chaîne oracle
(dans ce cas), il sera sélectionné, enfin, il rendra votre calcul incorrect.
je ferais avec pgrep
et ps
pour choisir les bons processus que vous voulez, et la liste seulement l'utilisation du processeur, enfin faire la somme:
ps -fho' %C' -p $(pgrep -d, oracle)|awk '{s+=($0+0)}END{printf "CPU Usage:%.2f%%",s}'
pgrep -d, oracle
listera les processus dont le nom contientoracle
; vous pouvez utiliser-x
pour faire correspondre exactement, si vous êtes sûr du nom du processus que vous souhaitez rechercher. Affichera tous pid dans un format csv, comme123,234
ps -fho '%C' -p '123,234'
va afficher uniquement l'utilisation du processeur pour les pid données, sans en-tête, chaque pourcentage d'utilisation dans une ligneLe script awk final somme la valeur et imprimer. La sortie devrait ressembler à
CPU Usage:xx.xx%
Puis-je utiliser la commande « top » en quelque sorte? – RAFA