Pour les besoins d’un test je voulais connaitre la durée d’exécution d’un script. J’avais déjà dans l’idée de monter une usine à gaz ou encore de réinventer un bout de script, mais grâce à Google j’ai trouvé l’utilitaire qu’il me fallait pour calculer le temps d’exécution d’un script. Pour découvrir d’autres commandes sous Linux, consulter ce tutoriel : Commandes d’administration sous Linux.
Calculer le temps d’exécution d’un script avec l’utilitaire time
Il peut s’avérer utile de connaître la durée d’exécution d’une tâche.
Prenons un exemple simple avec Centreon, si votre script dure plus de 60 secondes (valeur par défaut), le service qui exécute votre script se met en défaut.
Bilan le script n’a pas fini son exécution et vous avez droit à beau CRITICAL sur votre dashboard avec un Service Check Time Out en sortie.
Après cet aparté dans la configuration de Centreon, la commande magique time permet de calculer le temps d’exécution d’un script et ainsi déterminer la durée d’un processus, elle utilise le temps d’horloge du système donc attention a réalisé le test sans lancer d’autre processus gourmand en temps processeur sous peine de voir ses résultats faussés.
Pour chronométrer une tâche on utilise la commande time suivi de la tâche ou d’un script. Par exemple pour lister tous les éléments d’un répertoire ls –l. A la fin de la tâche vous avez le temps mis par le système pour exécuter ce processus.
Prenons un exemple plus concret avec l’exécution d’un script Centreon par exemple qui va parser un fichier de log DHCP.
Analyser le résultat à la fin de l’exécution du script :
- Real : correspond au temps réel de la tâche.
- User : correspond au temps utilisateur, c’est à dire le temps CPU utilisé par le programme utilisateur.
- Sys : correspond au temps système, c’est à dire au temps utilisé par le système pour gérer l’exécution de la tâche.