Το Ubuntu δεν περιλαμβάνει SSDs TRIM Προεπιλογή Γιατί όχι και πώς να το ενεργοποιήσετε μόνοι σας
Το Ubuntu θέλει να ενεργοποιήσει το TRIM για SSD από προεπιλογή στο Ubuntu 14.04. Με άλλα λόγια, το Ubuntu δεν χρησιμοποιεί ήδη το TRIM, επομένως το SSD σας επιβραδύνεται με την πάροδο του χρόνου. Αλλά γιατί το Ubuntu δεν χρησιμοποιεί ήδη TRIM?
Αυτά τα νέα πιθανόν να αποτελέσουν έκπληξη για πολλούς ανθρώπους, οι οποίοι υποθέτουν ότι το Ubuntu και άλλες διανομές Linux χρησιμοποιούν ήδη το TRIM. Το TRIM αποτρέπει την επιβράδυνση των SSD με την πάροδο του χρόνου και αποτελεί απαραίτητο μέρος της συντήρησης SSD.
Γιατί το TRIM είναι σημαντικό
Καλύψαμε γιατί το TRIM είναι σημαντικό πριν. Όταν διαγράφετε ένα αρχείο σε έναν παλιό, μαγνητικό σκληρό δίσκο, ο υπολογιστής απλώς σηματοδοτεί αυτό το αρχείο ως διαγραμμένο. Τα δεδομένα του αρχείου βρίσκονται στο σκληρό δίσκο - γι 'αυτό μπορούν να ανακτηθούν τα διαγραμμένα αρχεία. Ο υπολογιστής θα αντικαταστήσει τελικά τα διαγραμμένα αρχεία όταν αντικαταστήσει τους τομείς τους με νέα δεδομένα.
Οι μονάδες SSD (Solid State Drives) λειτουργούν διαφορετικά. Κάθε φορά που γράφετε ένα αρχείο σε ένα SSD, ο υπολογιστής πρέπει πρώτα να σβήσει οποιαδήποτε δεδομένα στους τομείς στους οποίους γράφει τα δεδομένα. Δεν μπορεί απλώς να "αντικαταστήσει" τους τομείς σε μια λειτουργία - πρέπει πρώτα να τις καθαρίσει και στη συνέχεια να γράψει στους άδειους τομείς.
Αυτό σημαίνει ότι ένα SSD θα επιβραδυνθεί με την πάροδο του χρόνου. Η εγγραφή στους τομείς SSD θα είναι γρήγορη για πρώτη φορά. Αφού διαγράψετε ορισμένα αρχεία και προσπαθήσετε να γράψετε ξανά σε αυτό, θα χρειαστεί περισσότερο. Αυτό είναι ένα μεγάλο μέρος του λόγου για τον οποίο η αρχική Nexus 7 της Google επιβραδύνθηκε τόσο πολύ με την πάροδο του χρόνου. Η Google το διορθώνει εφαρμόζοντας TRIM στο Android 4.3. (Το Android χρησιμοποιεί επίσης τον πυρήνα του Linux.)
Με το TRIM ενεργοποιημένο, το λειτουργικό σύστημα αναφέρει το SSD κάθε φορά που διαγράφει ένα αρχείο. Ο οδηγός μπορεί στη συνέχεια να διαγράψει τους τομείς που περιέχουν τα περιεχόμενα του αρχείου, οπότε η γραφή στους τομείς θα είναι γρήγορη στο μέλλον.
Με άλλα λόγια, εάν δεν χρησιμοποιείτε το TRIM, το SSD θα επιβραδυνθεί με την πάροδο του χρόνου. Αυτός είναι ο λόγος για τον οποίο τα σύγχρονα λειτουργικά συστήματα, συμπεριλαμβανομένων των Windows 7+, Mac OS X 10.6.8+ και Android 4.3+, χρησιμοποιούν το TRIM. Το TRIM εφαρμόστηκε στο Linux τον Δεκέμβριο του 2008, αλλά το Ubuntu δεν το χρησιμοποιεί από προεπιλογή.
Γιατί το Ubuntu TRIM δεν είναι προεπιλεγμένο?
Ο πραγματικός λόγος για τον οποίο το Ubuntu δεν περιλαμβάνει TRIM SSD από προεπιλογή είναι επειδή η εφαρμογή του TRIM του πυρήνα του Linux είναι αργή και έχει ως αποτέλεσμα κακή απόδοση σε κανονική χρήση.
Στα Windows 7 και 8, τα Windows στέλνουν μια εντολή TRIM κάθε φορά που διαγράφει ένα αρχείο, λέγοντας στη μονάδα να διαγράψει αμέσως τα bits του αρχείου. Το Linux υποστηρίζει αυτό όταν τα συστήματα αρχείων συναρμολογούνται με την επιλογή "απορρίψτε". Ωστόσο, το Ubuntu και άλλες διανομές δεν το κάνουν αυτό από προεπιλογή για λόγους απόδοσης.
Το wiki του OpenSUSE περιέχει μερικές λεπτομερείς πληροφορίες από έναν προγραμματιστή που είναι πιο εξοικειωμένος με τον πυρήνα του Linux από ότι είμαστε. Είναι λίγο χρονολογημένο, αλλά είναι πιθανό ακόμα αληθινό όταν πρόκειται για απόδοση:
"Η υλοποίηση του πυρήνα του περιβλήματος σε πραγματικό χρόνο στα 11.2, 11.3 και 11.4 δεν έχει βελτιστοποιηθεί. Η προδιαγραφή. απαιτεί την περικοπή να υποστηρίζει μια διανυσματική λίστα των περιοχών αποκοπής, αλλά από το kernel 3.0 περιστρέφεται μόνο από τον πυρήνα με μια ενιαία περιοχή απόρριψης / περικοπής και με τα τρέχοντα μέσα SSDs 2011 αυτό έχει αποδειχθεί ότι προκαλεί μια υποβάθμιση της απόδοσης παρά μια αύξηση της απόδοσης. Υπάρχουν λίγοι λόγοι για να χρησιμοποιήσετε την υποστήριξη πυρήνων σε πραγματικό χρόνο με τους πυρήνες pre-3.1. Δεν είναι γνωστό πότε οι λειτουργίες απόρριψης των πυρήνων θα βελτιστοποιηθούν ώστε να λειτουργούν ευεργετικά με τις τρέχουσες SSD γενιάς. "[Source]
Με άλλα λόγια, ο πυρήνας του Linux χειρίζεται τέτοιες εντολές TRIM σε πραγματικό χρόνο με έναν αργό, μη εξειδικευμένο τρόπο. Η ενεργοποίηση του TRIM παρόμοιο με τον τρόπο που τα Windows - δηλαδή, χρησιμοποιώντας την επιλογή "απορρίπτουν" - έχει ως αποτέλεσμα το σύστημα να γίνει πιο αργό από ό, τι εάν δεν χρησιμοποιήθηκε καθόλου το TRIM. Το Ubuntu και άλλες διανομές του Linux δεν επιτρέπουν την "απόρριψη" από προεπιλογή για τα συστήματα αρχείων σας και δεν θα έπρεπε να τα χρησιμοποιείτε.
Υπάρχει άλλος τρόπος
Επειδή η λειτουργία TRIM σε πραγματικό χρόνο "απορρίπτει" το πυρήνα του Linux δεν λειτουργεί καλά, οι περισσότερες διανομές Linux - συμπεριλαμβανομένου του Ubuntu - δεν χρησιμοποιούν αυτόματα TRIM. Το Android επίσης δεν χρησιμοποίησε το TRIM μέχρι το Android 4.3.
Αλλά υπάρχει ένας άλλος τρόπος για να χρησιμοποιήσετε το TRIM. Αντί να απλά εκδίδει την εντολή TRIM κάθε φορά που διαγράφεται ένα αρχείο, μπορεί να χρησιμοποιηθεί η λειτουργία FITRIM. Αυτό γίνεται μέσω της εντολής fstrim. Ουσιαστικά, η εντολή fstrim αναλύει το σύστημα αρχείων και ενημερώνει τον οδηγό σχετικά με το ποια μπλοκ δεν χρειάζονται πλέον, οπότε ο οδηγός μπορεί να τα απορρίψει. Αυτό μετατρέπει το TRIM από μια λειτουργία σε πραγματικό χρόνο σε μια προγραμματισμένη εργασία. Με άλλα λόγια, το fstrim μπορεί να κάνει TRIM ως εργασία cron. Δεν υπάρχει λόγος να μην το κάνετε αυτό. Δεν θα επιβραδύνει τίποτα. είναι απλώς ένα άλλο καθήκον καθαρισμού εσωτερικών χώρων το σύστημα πρέπει να εκτελεί με χρονοδιάγραμμα.
Στην πραγματικότητα, αυτή είναι η προσέγγιση που υιοθέτησε η Google με το Android 4.3. Το Android τρέχει απλά μια εργασία fstrim περιστασιακά στο TRIM το σύστημα αρχείων, καθορίζοντας το πρόβλημα που επιβράδυνε όλα αυτά τα πρωτότυπα Nexus 7s.
Το Ubuntu εξετάζει επίσης το ενδεχόμενο αυτόματης εκτέλεσης του TRIM με το να τρέχει κανονικά το σύστημα fstrim. Αυτό ελπίζουμε να είναι μέρος του Ubuntu 14.04 έτσι ώστε οι χρήστες του Ubuntu να μην αναγκάζονται να αντιμετωπίσουν την υποβάθμιση της απόδοσης SSD ή να τρέξουν fstrim από μόνοι τους.
Πώς να ενεργοποιήσετε το TRIM
Δεν συνιστούμε να τοποθετήσετε τα συστήματα αρχείων σας με τη λειτουργία "απόρριψης", καθώς αυτό πιθανόν να έχει ως αποτέλεσμα βραδύτερη απόδοση κατά την κανονική χρήση. Ωστόσο, μπορείτε να χρησιμοποιήσετε το TRIM τον εαυτό σας περιστασιακά εκτελώντας την εντολή fstrim ή δημιουργώντας το δικό σας cronjob που τρέχει fstrim σε ένα πρόγραμμα.
Για να TRIM SSD σας στο Ubuntu, απλά ανοίξτε ένα τερματικό και εκτελέστε την ακόλουθη εντολή:
sudo fstrim -v /
Μπορείτε να εκτελέσετε την παραπάνω εντολή περιστασιακά για να αποτρέψετε την υποβάθμιση της απόδοσης σε SSD. Πόσο συχνά πρέπει να το εκτελέσετε εξαρτάται από το πόσο συχνά διαγράφονται τα αρχεία από το SSD. Θα δείτε ένα σφάλμα αν προσπαθήσετε να εκτελέσετε την εντολή με μια μονάδα δίσκου που δεν υποστηρίζει το TRIM.
Αν θέλετε να τρέχετε τακτικά το TRIM, μπορείτε απλά να δημιουργήσετε ένα cronjob που τρέχει την εντολή fstrim για εσάς. Εδώ είναι πώς να κάνετε μια δουλειά barebones cron που θα το κάνει αυτόματα.
Αρχικά, εκτελέστε την ακόλουθη εντολή για να ανοίξετε τον επεξεργαστή κειμένου με δικαιώματα root:
sudo nano /etc/cron.daily/fstrim
Πληκτρολογήστε τον ακόλουθο κώδικα στο αρχείο:
#! / bin / sh
fstrim /
Αποθηκεύστε το αρχείο πατώντας Ctrl + O και πατήστε Enter για επιβεβαίωση. Πατήστε Ctrl + X για να κλείσετε νανο μετά την αποθήκευση του αρχείου.
Τέλος, εκτελέστε την ακόλουθη εντολή για να καταστήσετε τη δέσμη ενεργειών εκτελέσιμη:
sudo chmod + x /etc/cron.daily/fstrim
Το Ubuntu θα τρέξει τώρα fstrim σε ένα χρονοδιάγραμμα, ακριβώς όπως και άλλες εργασίες συντήρησης του συστήματος.
Σημειώστε ότι το TRIM υποστηρίζεται μόνο σε σύγχρονα συστήματα αρχείων, έτσι θα χρειαστείτε κάτι σαν ext4 και όχι ext3 ή ext2. Αν δεν ξέρετε τι σύστημα αρχείων χρησιμοποιείτε, μην ανησυχείτε - το προεπιλεγμένο είναι το ext4.
Πολλές από αυτές τις συμβουλές ισχύουν και για άλλες διανομές Linux. Ενώ το Linux είχε υλοποιήσει την υποστήριξη TRIM στον πυρήνα εδώ και πολύ καιρό, η υποστήριξη TRIM φαίνεται να μην έχει ενεργοποιηθεί από προεπιλογή για τυπικούς χρήστες σε διανομές Linux.
Image Credit: Mace Ojala στο Flickr (περικοπή)