Ο πυρήνας Linux είναι η ραχοκοκαλιά των λειτουργικών συστημάτων (OS) Linux και είναι η θεμελιώδης διεπαφή μεταξύ του υλικού ενός υπολογιστή και των διαδικασιών του.
Κατά την τελευταία εβδομάδα άρχισε να δουλεύει ποια θα είναι η επόμενη έκδοση του πυρήνα του Linux 6.5 και απο τοτε μερικές από τις πιο σχετικές αλλαγές έχουν ήδη αρχίσει να ανακοινώνονται που θα παρουσιαστεί σε αυτήν την επόμενη έκδοση του πυρήνα.
Και είναι ότι, για παράδειγμα, έχει ήδη ενσωματωθεί ένας μεγάλος αριθμός βελτιώσεων και αλλαγών, όπως το υποστήριξη εκκίνησης παράλληλης CPU Με στόχο τη σημαντική μείωση του χρόνου εκκίνησης του πυρήνα, η AMD αλλάζει επιμελώς αντιμετωπίζοντας ζητήματα αναστολής/συνέχισης του συστήματος, μαζί με βελτιώσεις σε συστήματα αρχείων, εικονικοποίηση και πολλά άλλα.
Από τις ανακοινωθείσες αλλαγές, θα μιλήσουμε για μία από αυτές σε αυτό το άρθρο, η οποία αναφέρεται ότι έχει ήδη συμπεριληφθεί στη βάση κώδικα που δημιουργεί τον πυρήνα Linux 6.5 και έχει ενσωματωθεί με την υλοποίηση του ένα νέο σύστημα που ονομάζεται "cachestat".
Αυτή η σειρά ενημερώσεων κώδικα εισάγει μια νέα κλήση συστήματος, την cachestat, η οποία συνοψίζει τα στατιστικά της προσωρινής μνήμης σελίδας (αριθμός σελίδων στην κρυφή μνήμη σελίδες που έχουν επισημανθεί για επανεγγραφή, σελίδες που έχουν αφαιρεθεί κ.λπ.) ενός αρχείου, σε α καθορισμένο εύρος byte. Περιλαμβάνει επίσης μια σουίτα αυτοδοκιμών που δοκιμάζει ορισμένα τυπική χρήση.
Σχετικά με το cachestat
cachestat είναι ένα νέο syscall που επιτρέπει στα προγράμματα του userland να αναζητούν πιο λεπτομερή στατιστικά στοιχεία προσωρινής μνήμης σελίδας στην πλευρά του πυρήνα. Ως εκ τούτου, προορίζεται να επεκταθεί η ήδη υπάρχουσα κλήση συστήματος mincore που χρησιμοποιείται για να προσδιορίσει εάν υπάρχουν σελίδες στη μνήμη, η κλήση cachestat επιτρέπει πιο λεπτομερή στατιστικά της προσωρινής μνήμης σελίδας και υποδεικνύει μεγαλύτερη επεκτασιμότητα.
Αναφέρεται ότι επί του παρόντος, η μνήμη της προσωρινής μνήμης σελίδας είναι συνήθως ο μεγαλύτερος καταναλωτής μνήμης και επομένως οι μέθοδοι πυρήνα που το χειρίζονται έχουν μεγάλο αντίκτυπο στην απόδοση. Ως εκ τούτου, υπάρχει μια πλούσια διεπαφή για την ενίσχυση αυτών των μεθόδων με το fadvise και την οικογένεια συγχρονισμού.
Η κλήση συστήματος Η cachestat() στέλνει πληροφορίες σχετικά με τον αριθμό των αποθηκευμένων σελίδων αποθηκευμένες στην προσωρινή μνήμη, βρώμικες σελίδες, σελίδες που εκδιώχθηκαν, σελίδες που εκδιώχθηκαν πρόσφατα και σελίδες που έχουν επισημανθεί για επανεγγραφή.
Τα στατιστικά στοιχεία που παρέχονται για αρχεία σας επιτρέπουν να λαμβάνετε πιο ακριβείς αποφάσεις σχετικά με την εργασία με I/O που περνούν από το VFS, με βάση όχι μόνο έναν αφηρημένο αλγόριθμο, αλλά και λαμβάνοντας υπόψη τα χαρακτηριστικά ενός συγκεκριμένου συστήματος σε μια συγκεκριμένη χρονική στιγμή.
Προς το παρόν δεν υπάρχει καλός τρόπος για να ρωτήσετε την κατάσταση της μεγάλης προσωρινής σελίδας σύνολα αρχείων και δέντρα καταλόγου. Υπάρχει mincore(), αλλά κλιμακώνεται άσχημα:
ο πυρήνας γράφει μια μεγάλη ποσότητα δεδομένων bitmap που πρέπει να κάνει ο χώρος χρήστη προσθέστε το, όταν ο χρήστης δεν ενδιαφέρεται πραγματικά για τις πληροφορίες ανά σελίδα
έπειτα. Ο χρήστης πρέπει επίσης να αντιστοιχίσει και να κατανείμει κάθε αρχείο καθώς πάει σε όλη τη διάρκεια, η οποία μπορεί επίσης να είναι αρκετά αργή.
Σχετικά με τη σΠιθανές περιπτώσεις χρήσης cachestat() από εφαρμογέςκαι αναφέρετε τα εξής:
- Ο προγραμματιστής ερωτημάτων στο DBMS θα μπορεί αποφασίστε εάν θα εκτελέσετε σάρωση ευρετηρίου ή θα διαβάσετε απευθείας τα δεδομένα από τον πίνακα με βάση την κατάσταση του ευρετηρίου του πίνακα στη μνήμη cache σελίδας.
- Λεπτομερής και εξαρτώμενος από το φορτίο χειρισμός πλήρωσης της προσωρινής μνήμης σελίδας και εισόδου/εξόδου (για παράδειγμα, βρώμικες σελίδες/σελίδες που επισημαίνονται για επανεγγραφή), αλλάζοντας τη συχνότητα συγχρονισμού, από πολύ συχνό υπό ελαφρύ φορτίο σε σκασμένο κατά τη διάρκεια εκρήξεων φορτίου.
- Δυνατότητα πιο οπτικής παρουσίασης και βολική εμφάνιση πληροφοριών χρήσης μνήμης σε μεγάλα αρχεία/καταλόγους, παρόμοια με τον τρόπο που το βοηθητικό πρόγραμμα "du" σάς επιτρέπει να εμφανίζετε τη χρήση χώρου στο δίσκο.
- Ευκολότερη αντιμετώπιση προβλημάτων και διόρθωση σφαλμάτων τεμπέλικων εγγραφών για ζητήματα απόδοσης.
Τελικά αν ενδιαφέρεστε να μάθετε περισσότερα γι 'αυτό, μπορείτε να ελέγξετε τις λεπτομέρειες στο παρακάτω σύνδεσμο.