Skip to main content

Αποκτήστε στατιστικά στοιχεία επιστροφής χρόνου με την εντολή χρόνου Linux

Statistical Programming with R by Connor Harris (Ενδέχεται 2024)

Statistical Programming with R by Connor Harris (Ενδέχεται 2024)
Anonim

Η εντολή χρόνου είναι μία από τις λιγότερο γνωστές εντολές του Linux, αλλά μπορεί να χρησιμοποιηθεί για να δείξει πόσο χρόνο χρειάζεται μια εντολή για να τρέξει.

Αυτό είναι χρήσιμο εάν είστε προγραμματιστής και θέλετε να ελέγξετε την απόδοση του προγράμματος ή του σεναρίου σας.

Αυτός ο οδηγός θα απαριθμήσει τους κύριους διακόπτες που θα χρησιμοποιήσετε με την εντολή χρόνου μαζί με τις έννοιές τους.

Πώς να χρησιμοποιήσετε την εντολή χρόνου

Η σύνταξη της εντολής χρόνου έχει ως εξής:

χρόνος

Για παράδειγμα, μπορείτε να εκτελέσετε την εντολή ls για να εμφανίσετε όλα τα αρχεία σε ένα φάκελο σε μεγάλη μορφή μαζί με την εντολή χρόνου.

ώρα ls -l

Τα αποτελέσματα από την εντολή χρόνου θα είναι τα εξής:

πραγματικό 0m0.177sχρήστη 0m0.156ssys 0m0.020s

Τα στατιστικά στοιχεία που εμφανίζονται δείχνουν το συνολικό χρόνο που απαιτείται για την εκτέλεση της εντολής, το χρονικό διάστημα που δαπανήθηκε στη λειτουργία χρήστη και το χρονικό διάστημα που αφιερώνεται στη λειτουργία πυρήνα.

Εάν έχετε ένα πρόγραμμα που έχετε γράψει και θέλετε να εργαστείτε για την απόδοση, μπορείτε να το εκτελέσετε μαζί με την εντολή χρόνου ξανά και ξανά και να προσπαθήσετε να βελτιώσετε τα στατιστικά στοιχεία.

Από προεπιλογή, η έξοδος εμφανίζεται στο τέλος του προγράμματος, αλλά ίσως θέλετε η έξοδος να μεταβεί σε ένα αρχείο.

Για να εξάγετε τη μορφή σε ένα αρχείο, χρησιμοποιήστε την ακόλουθη σύνταξη:

ώρα -otime --output =

Πρέπει να οριστούν όλοι οι διακόπτες για την εντολή χρόνου πριν από την εντολή που θέλετε να εκτελέσετε.

Εάν είστε συντονιστής επιδόσεων, τότε μπορεί να θέλετε να προσθέσετε την έξοδο από την εντολή χρόνου στο ίδιο αρχείο ξανά και ξανά, ώστε να μπορείτε να δείτε μια τάση.

Για να το κάνετε αυτό χρησιμοποιήστε την ακόλουθη σύνταξη αντί:

ώρα -αtime --append

Μορφοποίηση της εξόδου της εντολής χρόνου

Από προεπιλογή, η έξοδος έχει ως εξής:

πραγματικό 0m0.177sχρήστη 0m0.156ssys 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