Utilisation de la commande time pour mesurer l'utilisation du microprocesseur
Utilisez la commande time pour comprendre les caractéristiques de performances d'un programme unique et de ses enfants synchrones.
La commande time indique le temps réel, c'est-à-dire le temps écoulé entre le début et la fin du programme. Il indique également la quantité de temps de microprocesseur utilisée par le programme. Le temps du microprocesseur est divisé enuseretsys. Leuservalue est le temps utilisé par le programme lui-même et les sous-routines de bibliothèque qu'il appelle. :NONE.sysvalue est le temps utilisé par les appels système appelés par le programme (directement ou indirectement).
La somme desuser+sysest le coût total par microprocesseur direct de l'exécution du programme. Cela n'inclut pas les coûts de microprocesseur de parties du noyau qui peuvent déclarées comme exécutées pour le compte du programme, mais qui ne sont en fait pas exécutées sur son unité d'exécution. Par exemple, le coût de la récupérationl de cadres de page pour remplacer ceux pris dans la liste libre lorsque le programme a commencé n'est pas déclaré dans le cadre de la consommation de microprocesseur du programme.
real - (user + sys)real * number_of_processors - (user + sys)Dans approximativment l'ordre décroissant de taille, les facteurs peuvent être :
- E-S requises pour introduire le texte et les données du programme
- E-S requises pour acquérir de la mémoire réelle pour l'utilisation du programme
- Temps de microprocesseur consommé par d'autres programmes
- Temps de microprocesseur consommé par le système d'exploitation
# time looper
real 0m3.58s
user 0m3.16s
sys 0m0.04s# time nice -n 10 looper
real 0m6.54s
user 0m3.17s
sys 0m0.03s# nice -n 10 time loopernous aurions obtenu une commande time différente (/usr/bin/time) avec un rapport de précision inférieure, plutôt que la version de la commande time que nous avons utilisée, qui est intégrée à l'interpréteur de commandes ksh. Si la commande time est exécutée en premier, vous obtenez la version intégrée, sauf si vous indiquez le nom qualifié complet de /usr/bin/time. Si la commande time est appelée à partir d'une autre commande, vous obtenez /usr/bin/time.