2016-12-12 1 views

Répondre

1

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 contient oracle; 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, comme 123,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 ligne

  • Le script awk final somme la valeur et imprimer. La sortie devrait ressembler à

    CPU Usage:xx.xx% 
    
+0

Puis-je utiliser la commande « top » en quelque sorte? – RAFA