Η εντολή χρόνου είναι μία από τις λιγότερο γνωστές εντολές του Linux, αλλά μπορεί να χρησιμοποιηθεί για να δείξει πόσο χρόνο χρειάζεται μια εντολή για να τρέξει.
Αυτό είναι χρήσιμο εάν είστε προγραμματιστής και θέλετε να ελέγξετε την απόδοση του προγράμματος ή του σεναρίου σας.
Αυτός ο οδηγός θα απαριθμήσει τους κύριους διακόπτες που θα χρησιμοποιήσετε με την εντολή χρόνου μαζί με τις έννοιές τους.
Πώς να χρησιμοποιήσετε την εντολή χρόνου
Η σύνταξη της εντολής χρόνου έχει ως εξής:
χρόνος
Για παράδειγμα, μπορείτε να εκτελέσετε την εντολή ls για να εμφανίσετε όλα τα αρχεία σε ένα φάκελο σε μεγάλη μορφή μαζί με την εντολή χρόνου.
ώρα ls -l
Τα αποτελέσματα από την εντολή χρόνου θα είναι τα εξής:
πραγματικό 0m0.177s
χρήστη 0m0.156s
sys 0m0.020s
Τα στατιστικά στοιχεία που εμφανίζονται δείχνουν το συνολικό χρόνο που απαιτείται για την εκτέλεση της εντολής, το χρονικό διάστημα που δαπανήθηκε στη λειτουργία χρήστη και το χρονικό διάστημα που αφιερώνεται στη λειτουργία πυρήνα.
Εάν έχετε ένα πρόγραμμα που έχετε γράψει και θέλετε να εργαστείτε για την απόδοση, μπορείτε να το εκτελέσετε μαζί με την εντολή χρόνου ξανά και ξανά και να προσπαθήσετε να βελτιώσετε τα στατιστικά στοιχεία.
Από προεπιλογή, η έξοδος εμφανίζεται στο τέλος του προγράμματος, αλλά ίσως θέλετε η έξοδος να μεταβεί σε ένα αρχείο.
Για να εξάγετε τη μορφή σε ένα αρχείο, χρησιμοποιήστε την ακόλουθη σύνταξη:
ώρα -o
time --output =
Πρέπει να οριστούν όλοι οι διακόπτες για την εντολή χρόνου πριν από την εντολή που θέλετε να εκτελέσετε.
Εάν είστε συντονιστής επιδόσεων, τότε μπορεί να θέλετε να προσθέσετε την έξοδο από την εντολή χρόνου στο ίδιο αρχείο ξανά και ξανά, ώστε να μπορείτε να δείτε μια τάση.
Για να το κάνετε αυτό χρησιμοποιήστε την ακόλουθη σύνταξη αντί:
ώρα -α
time --append
Μορφοποίηση της εξόδου της εντολής χρόνου
Από προεπιλογή, η έξοδος έχει ως εξής:
πραγματικό 0m0.177s
χρήστη 0m0.156s
sys 0m0.020s
Υπάρχει ένας μεγάλος αριθμός επιλογών μορφοποίησης, όπως φαίνεται από την παρακάτω λίστα
- C - Χρησιμοποιούνται τα επιχειρήματα του ονόματος και της γραμμής εντολών
- D - Μέσο μέγεθος της μη επιμερισμένης περιοχής δεδομένων της διαδικασίας σε kilobytes
- E - Χρόνος που έχει περάσει σε μορφή ρολογιού
- F - Αριθμός σφαλμάτων σελίδας
- I - Αριθμός εισόδων συστήματος αρχείων από τη διαδικασία
- K - Μέση συνολική χρήση μνήμης της διαδικασίας σε kilobyte
- M - Μέγιστο μέγεθος διαρκείας της διαδικασίας κατά τη διάρκεια της ζωής σε Kilobytes
- O - Αριθμός εξόδων συστήματος αρχείων από τη διαδικασία
- P - Ποσοστό CPU που έλαβε η εργασία
- R - Αριθμός μικρών ή ανακτήσιμων σφαλμάτων σελίδας
- S - Συνολικός αριθμός δευτερολέπτων CPU που χρησιμοποιείται από το σύστημα σε λειτουργία πυρήνα
- U - Συνολικός αριθμός δευτερολέπτων CPU που χρησιμοποιούνται από τη λειτουργία χρήστη
- W - Αριθμός επαναλήψεων της διαδικασίας από την κύρια μνήμη
- X - Μέση ποσότητα κοινόχρηστου κειμένου στη διαδικασία
- Z - Μέγεθος σελίδας του συστήματος σε kilobyte
- c - Αριθμός επαναλήψεων της διαδικασίας
- e - Πραγματικός χρόνος που χρησιμοποιείται από τη διαδικασία σε δευτερόλεπτα
- k - Αριθμός σημάτων που παραδόθηκαν στη διαδικασία
- p - Μέσο μη διαμοιρασμένο μέγεθος στοίβας της διαδικασίας σε κιλοβάτες
- r - Αριθμός μηνυμάτων υποδοχής που λήφθηκαν από τη διαδικασία
- s - Αριθμός μηνυμάτων υποδοχής που αποστέλλονται από τη διαδικασία
- t - Μέσο μέγεθος διαμονής κατοίκου της διαδικασίας σε kilobytes
- w - Ο αριθμός των περιπτώσεων κατά τις οποίες η διαδικασία μετατράπηκε στο περιβάλλον εθελοντικά
- x - Κατάσταση εξόδου της εντολής
Μπορείτε να χρησιμοποιήσετε τους διακόπτες μορφοποίησης ως εξής:
χρόνος -f "Elapsed Time =% E, Είσοδοι% I, Έξοδοι% O"
Η έξοδος για την παραπάνω εντολή θα ήταν κάτι σαν αυτό:
Χρόνος που έχει παρέλθει = 0:01:00, Είσοδοι 2, Έξοδοι 1
Μπορείτε να αναμίξετε και να ταιριάξετε τους διακόπτες όπως απαιτείται.
Αν θέλετε να προσθέσετε μια νέα γραμμή ως μέρος της συμβολοσειράς μορφής, χρησιμοποιήστε τον χαρακτήρα γραμμής νέας γραμμής ως εξής:
χρόνος -f "Elapsed Time =% E \ n Είσοδοι% I \ n Εξόδους% O"
Περίληψη
Για να μάθετε περισσότερα σχετικά με την εντολή χρόνου, διαβάστε τη σελίδα Εγχειρίδιο Linux, εκτελώντας την ακόλουθη εντολή:
άνθρωπος χρόνο
Ο διακόπτης μορφοποίησης δεν λειτουργεί άμεσα μέσα στο Ubuntu. Πρέπει να εκτελέσετε την εντολή ως εξής:
/ usr / bin / time