Cpu δοκιμής πίεσης σε linux. Εργασία με το Phoronix Test Suite ή πώς να δοκιμάσετε την απόδοση των εικονικών μηχανών στο Linux; Τα χαρακτηριστικά άδειας αρχείου περιλαμβάνουν

Η παρακολούθηση πραγματοποιείται χρησιμοποιώντας ένα σύνολο προγραμμάτων lm-αισθητήρες.


aptitude εγκατάσταση αισθητήρων lm

Μπορείτε να λάβετε μετρήσεις αισθητήρα με την εντολή:


Αισθητήρες

Η παρακολούθηση της θερμοκρασίας σε πραγματικό χρόνο εκτελείται με την ακόλουθη εντολή:


αισθητήρες ρολογιών

Η έξοδος της εντολής περιέχει πληροφορίες σχετικά με την τάση, την ταχύτητα του ανεμιστήρα, τη θερμοκρασία του επεξεργαστή (κάθε πυρήνα ξεχωριστά), τη θερμοκρασία σκληροι ΔΙΣΚΟΙ. Ένας σημαντικός δείκτης είναι η μέγιστη καταγεγραμμένη τιμή θερμοκρασίας (πεδίο υψηλόςσε μετρήσεις θερμοκρασίας πυρήνα). Μπορείτε να παρακολουθείτε μόνο τη θερμοκρασία του επεξεργαστή με την εντολή:


ενώ (αληθής) do ημερομηνία? αισθητήρες | grep πυρήνας? ηχώ "======"; ύπνος 1 δευτ. Έγινε

Υπάρχουν επίσης διάφορα βοηθητικά γραφικά για την εμφάνιση αναγνώσεων. lm-αισθητήρες. Για ΝΑΝΟΣεύκολο στη χρήση applet Applet αισθητήρων GNOME.

CPU stress testing

Πλαστική σακούλα cpuburn

Έλεγχος της λειτουργίας των προγραμμάτων οδήγησης της κάρτας γραφικών

Ελέγξτε για τρισδιάστατη επιτάχυνση:


glxinfo | grep OpenGL

Η έξοδος πρέπει να είναι ως εξής:


Συμβολοσειρά προμηθευτή OpenGL: Tungsten Graphics, Inc Συμβολοσειρά απόδοσης OpenGL: Mesa DRI Intel(R) G33 GEM 20100330 DEVELOPMENT Συμβολοσειρά έκδοσης OpenGL: 1.4 Επεκτάσεις OpenGL Mesa 7.10:

Ας ελέγξουμε την υποστήριξη για επιτάχυνση 3D μέσω της κάρτας βίντεο:


glxinfo | grep απευθείας

Εάν υλοποιηθεί υποστήριξη 3D, η έξοδος θα είναι:


απευθείας απόδοση: Ναι

Ας ελέγξουμε την ταχύτητα του 3D:


glxgears

Θα εμφανιστεί ένα παράθυρο με ένα απλό τρισδιάστατο animation. Σε αυτήν την περίπτωση, πληροφορίες σχετικά με την ταχύτητα απόδοσης θα εμφανίζονται στην κονσόλα κάθε 5 δευτερόλεπτα. Οι κανονικές τιμές FPS για ένα διαμορφωμένο πρόγραμμα οδήγησης θα πρέπει να είναι πάνω από 1000 κατά μέσο όρο (εάν είναι ενεργοποιημένο το V-sync, η τιμή FPS θα περιοριστεί από τη συχνότητα συγχρονισμού).

Μια άλλη δοκιμή OpenGL:


/usr/lib/xscreensaver/glblur-fps

Θα εμφανιστεί ένα παράθυρο προφύλαξης οθόνης που δείχνει την τιμή FPS.

Σε περίπτωση προβλημάτων, μπορείτε να εγκαταστήσετε ξανά το πρόγραμμα οδήγησης βίντεο (για ενσωματωμένα γραφικά Intel, πρέπει να εγκαταστήσετε ξανά το πακέτο xserver-xorg-video-intel). Οι ρυθμίσεις του προγράμματος οδήγησης πραγματοποιούνται από το πρόγραμμα driconf. Επίσης, για να ελέγξετε τη λειτουργία της κάρτας βίντεο Intel, μπορείτε να εγκαταστήσετε το πακέτο intel-gpu-tools(το πακέτο περιλαμβάνει το βοηθητικό πρόγραμμα intel_gpu_top, το οποίο σας επιτρέπει να παρακολουθείτε τη φόρτωση του επεξεργαστή βίντεο σε πραγματικό χρόνο).

Δοκιμή απόδοσης συστήματος

πακέτο phoronix-test-suite

Ο έλεγχος απόδοσης πραγματοποιείται από το πρόγραμμα phoronix-test-suite. Είναι ένα κέλυφος λογισμικού που σας επιτρέπει να κατεβάζετε και να εκτελείτε αυτόματα διάφορα προγράμματα δοκιμών, να συλλέγετε και να αποθηκεύετε δεδομένα σχετικά με τα αποτελέσματα των δοκιμών.

Ας εγκαταστήσουμε το πρόγραμμα:


aptitude install phoronix-test-suite

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


phoronix-test-suite list-tests

Οι δοκιμές εκτελούνται με την εντολή:


phoronix-test-suite σημείο αναφοράς TEST_NAME

  • ΕΠΕΞΕΡΓΑΣΤΗΣ:

    • ακτινογραφία- Τεστ μαθηματικών πολλαπλών νημάτων. Υψηλό φορτίο στον επεξεργαστή. Αποτέλεσμα στο C2D 2.0: 387,55 δευτερόλεπτα.

    • build-linux-kernel- συναρμολόγηση του πυρήνα Linux. Μεγάλη δοκιμή. Φορτώνει ομοιόμορφα τον επεξεργαστή και τη μνήμη (χρησιμοποιεί gcc).

    • scimark2- ισχυρή δοκιμή μονού νήματος (εντατικός επιστημονικός υπολογισμός). Δείχνει την απόδοση ενός πυρήνα σε gigaflops.

    • ffmpeg- κωδικοποίηση βίντεο (τα αρχεία δοκιμής καταλαμβάνουν 130 MB). Σε C2D 2.0: 25,99 δευτερόλεπτα.


  • Μνήμη:

    • ramspeed- τεστ μνήμης. Μέσος φόρτος CPU. Αποτελέσματα DDR2-800 2Gb (αντίγραφο,int): 2280,10 MB/s.

    • ρεύμα- δείχνει την ταχύτητα της μνήμης σε διάφορες λειτουργίες.


  • HDD:

    • ιόζον- δοκιμή σκληρός δίσκος. Εμφανίζει την ταχύτητα ανάγνωσης και εγγραφής για μπλοκ διαφόρων μηκών. Αποτέλεσμα WD 80Gb (W,4K,512M): 52,42 MB/s.


  • ΓΡΑΦΙΚΕΣ ΤΕΧΝΕΣ:

    • gtkperf- δοκιμή διαφόρων στοιχείων του GNOME GUI.

    • unigine-tropics- όμορφο 3D σημείο αναφοράς, χρειάζεστε προσαρμοσμένα προγράμματα οδήγησης με υποστήριξη για επιτάχυνση 3D.


Για μακροχρόνιες ποικίλες δοκιμές, συνιστάται build-linux-kernel. Για σύντομο stress test ακτινογραφία(μαζί με το πρόγραμμα

ερώτηση διαγνωστικά υπολογιστώνΟι κάτοχοι υπολογιστών ή φορητών υπολογιστών συνήθως προβληματίζονται από τα τακτικά λάθη στην εργασία τους. Αλλά ένα σημαντικό ποσοστό των ενθουσιωδών λατρεύει το overclocking επεξεργαστών, καρτών βίντεο, την υπερεκτίμηση των συχνοτήτων λειτουργίας της μνήμης κ.λπ. Φυσικά, η αδιάλειπτη λειτουργία σε τέτοιες καταστάσεις έκτακτης ανάγκης δεν είναι εγγυημένη και οι overclockers στη διαδικασία overclocking πρέπει να ελέγχουν τη σταθερότητα της υπερχρονισμένης συσκευής. Έλεγχος επεξεργαστή- ένα υποχρεωτικό βήμα κατά το overclocking της CPU. Το προτεινόμενο άρθρο είναι απλώς αφιερωμένο στο θέμα του ελέγχου της λειτουργίας του επεξεργαστή υπό μέγιστο φορτίο μετά την επιτάχυνση. Χρησιμότητα LinX 0.6με πολύ απλή διεπαφήβοηθήστε μας σε αυτό.

Πρόσφατα, ο ιστότοπος είχε ένα άρθρο σχετικά, το οποίο ανέφερε μόνο την ανάγκη για διαγνωστικά CPU, αλλά δεν υπήρχε καμία εξήγηση. Σήμερα αποφάσισα να καλύψω αυτό το κενό και να περιγράψω τη διαδικασία ελέγχου του επεξεργαστή. Για διαγνωστικά υπολογιστώνχρειάζεστε μόνο ένα βοηθητικό πρόγραμμα σχεδιασμένο για μέγιστο φορτίο CPU με υπολογιστικές εργασίες. Το όνομα αυτού του συμπαγούς προγράμματος είναι LinX. Προς το παρόν, το τρέχον είναι LinX 0.6.5". Εκτός από τη δοκιμή σταθερότητας, το βοηθητικό πρόγραμμα μπορεί επίσης να χρησιμοποιηθεί ως καλό σημείο αναφοράς.

Προοπτική χρήστη LinX 0.6πολύ απλό και βολικό πράγμα με απλή και διαισθητική διεπαφή (ρωσική και αγγλική έκδοση). Υποστηρίζει επεξεργαστές Intel και AMD. Στις ρυθμίσεις, μπορείτε να επιλέξετε τον τρόπο λειτουργίας 32/64-bit, τον αριθμό των νημάτων, να ενεργοποιήσετε ή να απενεργοποιήσετε την τεχνολογία HyperThreading της Intel, να ορίσετε τον αριθμό των εκτελέσεων, να παρακολουθήσετε την πρόοδο της δοκιμής "ζωντανά" ... Αυτόματη αποθήκευση συνόλου παραμέτρους δοκιμής επεξεργαστήθα επιτρέψει τη δοκιμή με τις ίδιες ρυθμίσεις σε επόμενες εκκινήσεις, για παράδειγμα, κατά το σταδιακό overclocking της CPU.


Η διεπαφή του κύριου παραθύρου του προγράμματος περιέχει μόνο μερικά στοιχεία ελέγχου. Πρώτα απ 'όλα, μας ενδιαφέρουν οι παράμετροι "Μνήμη" / "Μνήμη" και ο αριθμός των εκτελέσεων "Αριθμός φορών" / "Εκτέλεση". Για διαγνωστικά υπολογιστώνσυνιστάται να επιλέξετε όλη τη διαθέσιμη μνήμη στην πρώτη παράμετρο (το κουμπί "Όλα" δίπλα στο "Μνήμη") και να ορίσετε εμπειρικά το "Αριθμός φορών" / "Εκτέλεση": εκτελέστε μία εκτέλεση και υπολογίστε τον απαιτούμενο αριθμό διαδρομών για να λειτουργήσει το πρόγραμμα για τουλάχιστον μία ώρα. Στο μενού "Ρυθμίσεις" / "Ρυθμίσεις", επιλέξτε τη λειτουργία 32/64 bit ανάλογα με τον εγκατεστημένο επεξεργαστή και την έκδοση του λειτουργικού συστήματος. Για να ξεκινήσετε/διακόψετε τη δοκιμή, χρησιμοποιήστε τα κουμπιά "Test"/"Stop" ("Start"/"Stop"). Κατά τη διάρκεια της δοκιμής, η ένδειξη προόδου της δοκιμής θα εμφανίσει το χρόνο που έχει παρέλθει από την έναρξη και όταν ολοκληρωθεί το τελευταίο πέρασμα, θα εμφανιστεί η επιγραφή "Ολοκληρώθηκε χωρίς σφάλματα σε MM m SS s" (ή "Ολοκληρώθηκε χωρίς σφάλματα σε MM m SS s” στην αγγλική έκδοση της διεπαφής).

Κατά τη δοκιμή ενός ασταθούς συστήματος για μεγάλο χρονικό διάστημα, ενδέχεται να προκύψουν σφάλματα. Το στοιχείο "Stop on Error" στις ρυθμίσεις του Linx 0.6 θα σταματήσει τον περαιτέρω έλεγχο του επεξεργαστή. Αυτό μπορεί να είναι πολύ χρήσιμο όταν συμβαίνουν σφάλματα λόγω υπερθέρμανση του επεξεργαστή. Μια έγκαιρη διακοπή του τεστ μπορεί σε ορισμένες περιπτώσεις Σώζω μια ζωηστη δοκιμασμένη CPU. Εάν, μετά την εκκίνηση του βοηθητικού προγράμματος, καταγράψατε μια θερμοκρασία κοντά στην κρίσιμη ή την υπέρβαση, τότε αυτό είναι ένα σαφές σήμα ότι πρέπει να αντικαταστήστε το ψυγείοή να μειώσει την επιτάχυνση.

Χρησιμοποιώντας LinX 0.6.5όπως και σημείο αναφοράςΤα αποτελέσματα της απόδοσης του επεξεργαστή θα εμφανίζονται στη στήλη "GFlops" / "GFlops" του τελικού πίνακα του κύριου παραθύρου του προγράμματος. Ναι, για Intel Core i7-3770k, το οποίο υπερχρονίστηκε στα 4,5 GHz, το αποτέλεσμα θα είναι ένας αριθμός στην περιοχή 110…115 GFlopsανάλογα με τις ρυθμίσεις. μετά από πολλές εκτελέσεις, η καθορισμένη CPU τοποθετείται υψηλότερα: η ταχύτητα υποδεικνύεται στον πίνακα για κάθε πέρασμα και η γραμμή κατάστασης περιέχει πληροφορίες σχετικά με τη μέγιστη (μέγιστη) απόδοση σε GFlops.

Με την ευκαιρία, αν αναρωτιέστε Overclock CPU, τότε να μπερδευτείτε με τη σκοπιμότητα της συμπερίληψης της τεχνολογίας υπερνήμαγια επεξεργαστή Intel. Σε καμία περίπτωση σε όλες τις εργασίες από την HT δεν υπάρχει αύξηση ταχύτητας, αλλά το HT που περιλαμβάνεται υποτιμά πολύ συχνά τις δυνατότητες overclocking της «πέτρας». Κρίνοντας από τις πολυάριθμες κριτικές, δεν υπάρχει η παραμικρή αύξηση στα FPS από το HyperThreading στα περισσότερα παιχνίδια - εδώ η "δυνατότητα αναπαραγωγής" εξαρτάται περισσότερο από την κάρτα βίντεο.

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

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

Το σημείο αναφοράς μπορεί να εκτελεστεί για το σύστημα στο σύνολό του ή για τα επιμέρους στοιχεία του: για τον κεντρικό επεξεργαστή, την κάρτα βίντεο, το σύστημα I/O.

Το Linux έχει πολλά προγράμματα για την αξιολόγηση της απόδοσης της CPU, για παράδειγμα: sysbench, stress-ngΚαι phoronix-test-suite. Από αυτούς stress-ngεκτελεί κυρίως τις λειτουργίες μιας δοκιμασίας ακραίων καταστάσεων, αλλά εμφανίζει τις μετρήσεις που προκύπτουν, επομένως είναι αρκετά κατάλληλο για την αξιολόγηση και τη σύγκριση της απόδοσης του συστήματος.

Σημείο αναφοράς στο sysbench

Το sysbench είναι ένα βοηθητικό πρόγραμμα γραμμή εντολών. Δημιουργήθηκε για την αξιολόγηση της απόδοσης διακομιστών με πολύ φορτωμένο DBMS, αλλά είναι επίσης κατάλληλο για τη συγκριτική αξιολόγηση συμβατικών συστημάτων.

Εγκατάσταση σε Ubuntu, Linux Mint, Debian, Kali Linux:

sudo κατάλληλη εγκατάσταση sysbench

Ενσωματωμένες δοκιμές:

  • fileio- Δοκιμή I/O αρχείων
  • ΕΠΕΞΕΡΓΑΣΤΗΣ- Δοκιμή απόδοσης CPU
  • μνήμη- Δοκιμή της ταχύτητας των λειτουργιών μνήμης
  • κλωστές- Δοκιμή της απόδοσης του υποσυστήματος νήματος
  • mutex- Δοκιμή απόδοσης Mutex

Για να εκτελέσετε μια δοκιμή απόδοσης CPU:

Εκτέλεση cpu Sysbench

Προσέξτε πώς ξεκινά το πρόγραμμα: στην αρχή υπάρχει το όνομα του τεστ, μετά οι επιλογές (δεν υπάρχουν στο πρώτο παράδειγμα) και μετά η εντολή.

Το πρόγραμμα έχει δύο διαδρόμους εκτέλεσης:

  • 10000 πράξεις με αριθμούς
  • 10 δευτερόλεπτα εκτέλεση

Ανάλογα με το τι έρχεται πρώτο, το πρόγραμμα θα βγει είτε μετά από 10.000 συμβάντα είτε μετά από 10 δευτερόλεπτα.

Οι σύγχρονοι επεξεργαστές είναι πολύ παραγωγικοί και αν το πρόγραμμα ολοκληρωθεί πολύ γρήγορα, τότε τα δεδομένα μπορεί να παραμορφωθούν. Για παράδειγμα, κατά την αξιολόγηση της απόδοσης του επεξεργαστή, για παράδειγμα, ο στραγγαλισμός (επαναφορά συχνότητας) παίζει ρόλο. Ο στραγγαλισμός ξεκινά λόγω υπερθέρμανσης ή υπέρβασης του TDP. Αυτά τα αποτελέσματα παρατηρούνται μόνο σε μεγάλες αποστάσεις του επεξεργαστή. Αν, για παράδειγμα, το τεστ ολοκληρώθηκε σε ένα δευτερόλεπτο και το πετύχατε nεπεξεργασμένες λειτουργίες, αυτό δεν σημαίνει ότι ο επεξεργαστής θα εκτελεστεί σε 60 δευτερόλεπτα 60*nλειτουργίες, αφού θα ρίξει συχνότητες λόγω υπερθέρμανσης και υπέρβασης των ορίων απαγωγής θερμότητας που ορίζονται στο TDP.

Για μεγαλύτερη δοκιμαστική εκτέλεση, χρησιμοποιήστε τις επιλογές --cpu-max-primeΚαι -χρόνος. Το πρώτο ορίζει τον μέγιστο αριθμό λειτουργιών που εκτελούνται και το δεύτερο ορίζει τον μέγιστο χρόνο αναφοράς. Όταν οι επιλογές χρησιμοποιούνται ταυτόχρονα, δίνεται προτεραιότητα -χρόνος.

Οι σύγχρονοι επεξεργαστές είναι πολλαπλών πυρήνων και πολλαπλών νημάτων:

Προκαθορισμένο sysbenchτρέχει σε ένα νήμα. Επομένως, εάν θέλετε να χρησιμοποιήσετε όλους τους πυρήνες του επεξεργαστή σας, χρησιμοποιήστε την επιλογή --κλωστές. Έχω 6 φυσικούς και 12 λογικούς πυρήνες CPU, οπότε θα χρησιμοποιήσω 12 για να βεβαιωθώ ότι όλες οι CPU λειτουργούν.

Όταν χρησιμοποιείτε την επιλογή --cpu-max-prime, όσο μικρότερος είναι ο χρόνος ολοκλήρωσης του προγράμματος, τόσο πιο παραγωγικός είναι ο κεντρικός επεξεργαστής:

Sysbench cpu --threads=12 --cpu-max-prime=100000 run

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

Αποτελέσματα που ελήφθησαν:

Ταχύτητα CPU: συμβάντα ανά δευτερόλεπτο: 538,23 Γενικά στατιστικά: συνολικός χρόνος: 10,0188 δευτ. συνολικός αριθμός συμβάντων: 5393 Λάθος καθυστέρησης (ms): ελάχ.: 19,85 μέσος όρος: 22,27 μέγιστο: 30,56 95ο εκατοστημόριο: 23,10 άθροισμα: 12012 συμβάντα stddev): 449.4167/4.11 χρόνος εκτέλεσης (avg/stddev): 10.0105/0.01

Συμβάντα ταχύτητας CPU ανά δευτερόλεπτοσημαίνει τον αριθμό των λειτουργιών που εκτελούνται στον κεντρικό επεξεργαστή ανά δευτερόλεπτο - όσο μεγαλύτερη είναι η τιμή, τόσο πιο παραγωγικό είναι το σύστημα.

Γενικά στατιστικά συνολικός χρόνοςσημαίνει τον συνολικό χρόνο εκτέλεσης των πράξεων.

Γενικά στατιστικά στοιχεία συνολικός αριθμός γεγονότωνσημαίνει τον συνολικό αριθμό των ολοκληρωμένων γεγονότων.

Εάν το σύστημα τερματιστεί πολύ γρήγορα, μπορείτε να αυξήσετε την τιμή, για παράδειγμα, σε διακόσιες χιλιάδες συμβάντα:

Sysbench cpu --cpu-max-prime=200000 run

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

CPU Sysbench --threads=12 --time=300 run

Έχω όταν χρησιμοποιώ επιλογές -χρόνοςΚαι --cpu-max-primeΤα συμβάντα ταχύτητας CPU ανά δευτερόλεπτο διαφέρουν κατά δεκάδες φορές - προφανώς είτε κάποιο είδος σφάλματος στο πρόγραμμα, είτε το πρόγραμμα υπολογίζει σύμφωνα με κάποιους άλλους κανόνες.

Σημείο αναφοράς στο phoronix-test-suite

Εγκαταστήστε το πρόγραμμα:

Sudo apt εγκατάσταση phoronix-test-suite

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

Phoronix-test-suite list-available-suites

Η προηγούμενη εντολή θα εμφανίσει τα διαθέσιμα σημεία αναφοράς.

Διαθέσιμες δοκιμαστικές σουίτες στο Phoronix Test Suite v8.0.1

Βαθμοί/κωδικοποίηση ήχου - Σύστημα κωδικοποίησης ήχου πόντους/σκάκι - Πόντοι/σύνταξη Chess Test Suite Processor pts/compiler - Συγχρονισμένος κώδικας μεταγλώττιση επεξεργαστή βαθμών/συμπίεση - Συμπίεση επεξεργαστή μεταγλωττιστή - πόντους/υπολογιστικό επεξεργαστή συμπίεσης αρχείων με χρονική ακρίβεια - Υπολογιστικό σύστημα δοκιμής υπολογιστών -biology - Computational Biology Test Suite Processor pts/cpu - CPU / Processor Suite Processor pts/cryptography - Cryptography Processor pts/daily-kernel-tracker - Daily Kernel Tracker System pts/daily-system-tracker - Daily System Tracker System pts/base data - Βάση δεδομένων Test Suite System pts/desktop-graphics - Desktop Graphics System pts/disk - Disk Test Suite Disk pts/encoding - Encoding System pts/favorites - Favorites System * pts/gaming - Gaming System pts/gaming-closed - Closed-source Σύστημα τυχερών παιχνιδιών * πόντοι/χωρίς τυχερά παιχνίδια - Ελεύθερο λογισμικό Σύστημα τυχερών παιχνιδιών pts/gui-toolkits - GUI Toolkits Γραφικά pts/ioquake3-games - Παιχνίδια με χρήση του συστήματος ioquake3 Engine pts/iqc - Σύγκριση ποιότητας εικόνας Σουίτα γραφικών pts/java - Java System pts /java-opengl - Java OpenGL System pts/kernel - Kernel System pts/linux-system - Linux System System pts/machine-learning - Machine Learning System pts/memory - Memory Test Suite Memory pts/mesa - Mesa Test Suite Graphics pts/ μητρική πλακέτα - Σύστημα μητρικής πλακέτας pts/multicore - Multi-core Processor pts/netbook - Netbook Test Suite System pts/network - Networking Test Suite Network pts/nevada - OpenSolaris Nevada Test Suite System pts/opencl - OpenCL System pts/opengl-demos - OpenGL Demos Test Suite System pts/opengl-workstation - OpenGL Workstation Test Suite System pts/pts-desktop-live - PTS Desktop Live System pts/ray-tracing - Ray-Tracing Test Suite System pts/server - Server System Motherboard pts/ue4 - Unreal Engine 4 Tech Demos σε Linux Graphics pts/universe - Unigine Test Suite Graphics * pts/universe - Universe Test Suite System pts/universe-cli - Universe CLI Test Suite System * pts/universe-x - Universe X Test Suite System pts/ video-encoding - Video Encoding System pts/station work - Workstation System pts/workstation-graphics - Workstation Graphics Graphics pts/xrender - X Render Extension Testing Σύστημα/συλλογή γραφικών - Σύστημα συλλογής

Τα μερικώς υποστηριζόμενα σύνολα επισημαίνονται με έναν αστερίσκο.

Για να εκτελέσετε την αξιολόγηση απόδοσης της CPU, εκτελέστε:

Phoronix-test-suite run pts/cpu

Λάβετε υπόψη ότι τα pts/cpu και άλλα σημεία αναφοράς καταλαμβάνουν αρκετά gigabyte χώρου στο δίσκο. Για παράδειγμα, το pts/cpu θα κατεβάσει περίπου 3 GB δεδομένων και θα χρησιμοποιήσει περίπου 7 GB χώρου στο δίσκο (στον αρχικό κατάλογο του χρήστη).

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

Έκανα το τεστ Linpack και σκέφτηκα: ήρθε η ώρα να αλλάξω τη θερμική πάστα στο φορητό υπολογιστή μου;

Ναι, σύμφωνα με τα αποτελέσματα πολλών δοκιμών στη σειρά (δεν θα γεμίσω το άρθρο με φωτογραφίες), είναι σαφές ότι ο επεξεργαστής μπαίνει σε στραγγαλισμό (παρακάμπτοντας κύκλους και επαναφορά της συχνότητας όταν θερμαίνεται), αλλά πόσο γρήγορα ξεκινά κάνοντας αυτό?

Δοκιμή πίεσης CPU σε τερματικό Linux

Έχοντας κάνει αυτήν την ερώτηση και έψαξα στο Διαδίκτυο για βοηθητικά προγράμματα, συνειδητοποίησα ότι το κύριο πρόβλημα για την επίλυση της εργασίας που έθεσα ήταν η ταυτόχρονη εκκίνηση τουλάχιστον δύο βοηθητικών προγραμμάτων και τα γουρλωμένα μάτια σε δύο παράθυρα ... Και κατέληξα στο συμπέρασμα ότι η έκδοση της κονσόλας είναι πιο κατάλληλη για μένα, παρά τα πολύχρωμα παράθυρα ανοιχτών προγραμμάτων.

Ξεκίνησα με το sysbench:

sudo apt εγκατάσταση sysbench

sysbench --num-threads=4 --test=cpu --cpu-max-prime=100000 run

  • --αριθμός νημάτων=4- αυτός είναι ο αριθμός των νημάτων, έχω ένα διπλού πυρήνα τεσσάρων νημάτων Intel® Core™ i7-640M, άρα 4.
  • --cpu-max-prime=100000- αυτός είναι ο μέγιστος αριθμός πράξεων που εκτελούνται, τον έβαλα σε 100000, επειδή Η προεπιλογή είναι 10000, τερματίζοντας τη δοκιμή πολύ σύντομα.

Μετά άλλαξα στο Linpack. Εφόσον έχω επεξεργαστή από την Intel και έχω κάποια τεμπελιά (η τεμπελιά είναι ο κινητήρας της προόδου), πήρα, κατέβασα και αποσυσκευάστηκα το έτοιμο Intel Linpack, αφού δημιούργησα τον κατάλογο linpack στον αρχικό μου κατάλογο:

mkdir ./linpack
cd ./linpack
wget http://registrationcenter-download.intel.com/akdlm/irc_nas/9752/l_mklb_p_2018.3.011.tgz
tar -xvzf ./l_mklb_p_2018.3.011.tgz

Για επεξεργαστές AMD, δεν θα δοκίμαζα αυτήν την επιλογή, αφού ο μεταγλωττιστής από την Intel εισάγει σελιδοδείκτες που ελέγχουν τον επεξεργαστή, και αν δεν είναι Intel ... καλά, σκεφτείτε εκατό δύο επιπλέον οδηγίες, ο επεξεργαστής θα εκτελέσει και προφανώς θα χάσει εκτέλεση. Για την AMD είναι καλύτερο να δημιουργήσετε το Linpack από πηγές όπως αυτές. Σε αυτό το άρθρο, δεν θα εξετάσω τη δημιουργία από πηγές - διαβάστε το README στον πηγαίο κώδικα.

Ας επιστρέψουμε στο Linpack της Intel. Υπάρχουν πολλά επιπλέον πράγματα και δεν τα χρειάζομαι, αλλά τι πρέπει να εξετάσω σχετικά με την έκδοση 2018.3.011. Θα πάω αμέσως στον επιθυμητό κατάλογο, για να μην πληκτρολογήσω μεγάλες εντολές αργότερα:

cd ./l_mklb_p_2018.3.011/benchmarks_2018/linux/mkl/benchmarks/linpack

Εφόσον, από προεπιλογή, το Linpack της Intel έχει σχεδιαστεί για τη δοκιμή του διακομιστή Xeons, ας δημιουργήσουμε το δικό μας αρχείο που θα χρησιμοποιείται ως επιλογές εισόδου - απλώς μειώστε τον αριθμό των δοκιμών, διαφορετικά θα κουραστούμε να περιμένουμε "μερικές μέρες" δοκιμή για να ολοκληρωθεί. Έχω Linux Mint LMDE 3, οπότε χρησιμοποιώ τον επεξεργαστή κειμένου xed και μου αρέσει για περισσότερη λειτουργικότητα, ειδικά όταν το τρέχω ως root - αλλάζει χρώμα σε κόκκινο. Και έτσι, δημιουργούμε στον ίδιο κατάλογο στον οποίο μετακινηθήκαμε, ένα αρχείο, για παράδειγμα, my_test:

Και αντιγράψτε το ακόλουθο περιεχόμενο στο αρχείο που δημιουργήθηκε:

Έκδοση κοινής μνήμης του Intel(R) Distribution για το LINPACK* Benchmark. *Άλλα ονόματα και επωνυμίες μπορούν να διεκδικηθούν ως ιδιοκτησία τρίτων.
Δείγμα αρχείου δεδομένων lininput_xeon64.
5 # αριθμός δοκιμών
1000 2000 5000 10000 20000 # μεγέθη προβλήματος
1000 2000 5008 10000 20000 # κύριες διαστάσεις
4 2 2 2 1 # φορές για να εκτελέσετε μια δοκιμή
4 4 4 4 4 # τιμές στοίχισης (σε KByte)

Λοιπόν, εκκινώντας πραγματικά το Linpack με το δημιουργημένο αρχείο:

./xlinpack_xeon64 -i ./my_test

./xlinpack_xeon64 ./my_test

Μπορείτε επίσης να χρησιμοποιήσετε stress-ng ή stress, αλλά αυτό και πάλι δεν λύνει το πρόβλημα που έθεσα. Αυτά τα βοηθητικά προγράμματα δεν μου δείχνουν την έξοδο της θερμοκρασίας, τις συχνότητες και τον χρόνο από την αρχή.

Η θερμοκρασία μπορεί να εμφανιστεί από αισθητήρες - περισσότερα σχετικά με την εγκατάσταση αυτού του βοηθητικού προγράμματος. Και αυτό το βοηθητικό πρόγραμμα θα χρειαστεί για την περαιτέρω εξέταση της ερώτησής μου. Το Linux είναι εξαιρετικό και ισχυρό: η ίδια εργασία μπορεί να λυθεί με διαφορετικούς τρόπους. Ήμουν πολύ τεμπέλης για να αναλάβω το C, και έγραψα το μέρος που έλειπε για μένα στο BASH, επειδή δεν υπήρχαν τόσες πολλές γραμμές. Χωρίς εγκατεστημένους αισθητήρες, το σενάριό μου δεν θα λειτουργήσει. Φυσικά, δεν έγραψα τη σταθεροποίηση του στραγγαλισμού - θα είναι ορατή με επαναφορά της συχνότητας και της θερμοκρασίας ούτως ή άλλως. Εδώ είναι το ίδιο το σενάριο:

#!/bin/bash
out=0 # μεταβλητή ελέγχου διαδικασίας δοκιμής
pid_test="tty" # PID της δοκιμαστικής διαδικασίας (εκτέλεσε έναν υπάρχοντα κατάλογο χωρίς ορίσματα)
cpus_num=$(cat /proc/cpuinfo | grep -ci "επεξεργαστής") # αριθμός επεξεργαστών/πυρήνων/νημάτων
echo -en "\033[?25l" 1>&2 # απόκρυψη δρομέα
echo -en "\033[^:]*: //g" | ταξινόμηση -u # μοντέλο επεξεργαστή εξόδου
echo -en "\033=$(αισθητήρες | sed "/Core ""$i""/!d;s/.*crit = +\(.*\)[.]°C).*/\1/ ")
if [ -n "$(cpu_crit_temp[i])" ]
έπειτα
έστω cpu_red_temp[i]=cpu_crit_temp[i]-10
ας cpu_yel_temp[i]=cpu_crit_temp[i]-30
cpu_min_temp[$i]=1000
cpu_max_temp[$i]=0
fi
Έγινε
start_time=$(cat /proc/uptime | sed "s/[.] .*$//") # ώρα έναρξης
αν [ -n "$1" ]
έπειτα
script_pid="$$"
(αν ! [email προστατευμένο]> "$0_out" 2>&1 # εκτέλεση δοκιμαστικού αρχείου
έπειτα
kill -s Το SIGABRT $script_pid # σηματοδοτεί την αποτυχία εκτέλεσης του κύριου σεναρίου
fi 2>/dev/null)&
pid_test="$!" # PID της διαδικασίας δοκιμής
fi
ενώ (αλήθεια) # έλεγχος θερμοκρασίας
κάνω
για ((i=0; i<$cpus_num; i++))
κάνω
cpu_freq[$i]=$(cat /sys/devices/system/cpu/cpu$(i)/cpufreq/scaling_cur_freq | sed "s/...$//")
cpu_temp[$i]=$(αισθητήρες | sed "/Core ""$i""/!d;s/.*+\(.*\)[.]°C[ \t]*(.*/\ 1/")
if [ -n "$(cpu_temp[i])" ]
έπειτα
(($(cpu_temp[i])< ${cpu_min_temp[i]})) && cpu_min_temp[$i]=${cpu_temp[i]}
εάν (($(cpu_temp[i]) > $(cpu_max_temp[i])))
έπειτα
cpu_max_temp[$i]=$(cpu_temp[i])
time_max[$i]=$(cat /proc/uptime | sed "s/[.] .*$//")
αφήστε time_max[i]=time_max[i]-start_time
fi
εάν (($(cpu_temp[i]) > $(cpu_red_temp[i])))
έπειτα
echo -en "cpu$(i):\t"
echo -en "\033)"
echo -en "\033)"
echo -en "\033)"
echo -en "\033) > $(cpu_yel_temp[i])))
έπειτα
echo -en "cpu$(i):\t"
echo -en "\033)"
echo -en "\033)"
echo -en "\033)°C; max: "
echo -en "\033)"
echo -en "\033)sec)"
αλλού
echo -en "cpu$(i):\t"
echo -en "\033)"
echo -en "\033)"
echo -en "\033)°C; max: "
echo -en "\033)"
echo -en "\033)sec)"
fi
αλλού
echo -en "cpu$(i):\t"
echo -en "\033)"
echo -en "\033 .*$//")
αφήστε time=time-start_time
echo -en "Time:\t$time sec."
[ ! -d "/proc/$(pid_test)" ] && break # έξοδος όταν τελειώσει η δοκιμή ( Ο καλύτερος τρόποςέλεγχος μέσω comm και cmdline, αλλά... πολύ τεμπέλης)
[ "$out" != "0" ] && break # έξοδος σε αποτυχία δοκιμής
echo -en "\033[$(i)A\r" 1>&2 # μετακινήστε τον κέρσορα επάνω στις γραμμές $i και στην αρχή της γραμμής
ύπνος 0,1 # παύση ώστε η έξοδος συχνότητας να μην πηδάει πολύ
Έγινε
ηχώ ""
echo -en "\033[?25h" 1>&2 # ενεργοποίηση δρομέα
αν [[ "$out" == "0" && -n "$1" ]]
έπειτα

rm -fR "$0_out"
έξοδος 0
elif [[ "$out" == "1" && -n "$1" ]]
έπειτα
kill -9 "$pid_test" 1>/dev/null 2>/dev/null
γάτα "$0_out" | sed "/^$/d;/Δείγμα δεδομένων/d;/Συχνότητα CPU/d;/Οι παράμετροι έχουν οριστεί/,/Τιμή στοίχισης δεδομένων/d"
rm -fR "$0_out"
έξοδος 1
elif[ "$out" == "1" ]
μετά βγείτε 1
elif[ "$out" == "2" ]
έπειτα
echo -en "\033)

mob_info