Δημοσιεύτηκε: 11 Απρ 2013, 07:40
Διαβάζοντας αυτό http://www.webupd8.org/2013/01/enable-trim-on-ssd-solid-state-drives.html, Σκέφτηκα ότι πρέπει να έχουν δίκιο, γιατί παρατήρησα πράγματι καθυστέρηση στην διαγραφή ή μετακίνηση μεγάλου αριθμού από μικρά αρχεία.
Η παράμετρος discard που θέσαμε στο fstab καθαρίζει τον δίσκο σε πραγματικό χρόνο, δηλαδή ταυτόχρονα με την διαγραφή και την μετακίνηση(αποκοπή ή μεταφορά είναι το ίδιο πράγμα). Καθυστερεί όμως την εκτέλεση με συνέπεια να θέλουμε πιο πολύ χρόνο από ένα HDD δίσκο. Δοκιμάστε να διαγράψεται ένα φάκελο με εικονίδια(διαγραφή όχι μεταφορά στα απορρίμματα) για να το διαπιστώσεται.
Το παρατήρησα για τα καλά όταν μετά από μια μεταγλωττισούλα διέγραψα τον φάκελο(4GB). Έκανε 2 λεπτά!!!
Καταρχήν με την εντολή
Μετά
Με το παραπάνω διαγράψαμε τον online καθαρισμό και με τις παρακάτω θα φτιάξουμε ένα σενάριο για να γίνεται μια φορά την ημέρα, χωρίς να επηρεάζει η trim τις εργασίες μας.
Πρώτα να διαπιστώσουμε αν δουλεύει η fstrim στο σύστημα μας δίνοντας
Αν έχουμε δηλαδή το "FITRIM ioctl failed: Operation not supported" δεν προχωράμε.
Ξεκινάμε με
Δημιουργήσαμε ένα αρχείο που μέσα θα βάλουμε το παρακάτω
Αντικαθιστούμε το "το username μας" με το κανονικό μας όνομα χρήστη.
Αν δεν έχουμε το home στον ssd απλά δεν βάζουμε την γραμμή fstrim -v /home >> $LOG
Σώνουμε και το κάνουμε εκτελέσιμο με την
Σε απλά Ελληνικά αυτό που κάνουμε είναι, αντί για online trim, το κάνουμε χειροκίνητα, μόνο που βάζουμε ένα σκριπτ να κάνει την δουλειά αντί για εμάς.
Εδώ https://patrick-nagel.net/blog/archives/337 είχε καθυστέρηση 40 sec σε σχέση με ένα hdd, για διαγραφή μεγέθους 500ΜΒ αρχείων.
Το δοκιμάζω από σήμερα και θα σας πω σε καμιά βδομάδα εντυπώσεις.
Edit: Αν έχουμε κρυπτογράφηση, ακολουθούμε τις οδηγίες που έχει στην ιστοσελίδα που παρέθεσα στην αρχή.
Edit2: Στον προσωπικό μας φάκελο δημιουργείται ένα αρχείο με ονομασία trim.log, έτσι ώστε να ελέγχουμε όποτε θέλουμε την έξοδο της fstrim.
Edit3: Όλα δουλεύουν σωστά δοκιμάζοντας το τρεις μέρες.
Η παράμετρος discard που θέσαμε στο fstab καθαρίζει τον δίσκο σε πραγματικό χρόνο, δηλαδή ταυτόχρονα με την διαγραφή και την μετακίνηση(αποκοπή ή μεταφορά είναι το ίδιο πράγμα). Καθυστερεί όμως την εκτέλεση με συνέπεια να θέλουμε πιο πολύ χρόνο από ένα HDD δίσκο. Δοκιμάστε να διαγράψεται ένα φάκελο με εικονίδια(διαγραφή όχι μεταφορά στα απορρίμματα) για να το διαπιστώσεται.
Το παρατήρησα για τα καλά όταν μετά από μια μεταγλωττισούλα διέγραψα τον φάκελο(4GB). Έκανε 2 λεπτά!!!
Καταρχήν με την εντολή
- Κώδικας: Επιλογή όλων
sudo hdparm -I /dev/sda | grep "TRIM supported"
Μετά
- Κώδικας: Επιλογή όλων
gksu gedit /etc/fstab
Με το παραπάνω διαγράψαμε τον online καθαρισμό και με τις παρακάτω θα φτιάξουμε ένα σενάριο για να γίνεται μια φορά την ημέρα, χωρίς να επηρεάζει η trim τις εργασίες μας.
Πρώτα να διαπιστώσουμε αν δουλεύει η fstrim στο σύστημα μας δίνοντας
- Κώδικας: Επιλογή όλων
sudo fstrim -v /
- Κώδικας: Επιλογή όλων
sotiris@sotiris-HP-G62-Notebook-PC:~$ sudo fstrim -v /
[sudo] password for sotiris:
/: 14614425600 bytes were trimmed
Αν έχουμε δηλαδή το "FITRIM ioctl failed: Operation not supported" δεν προχωράμε.
Ξεκινάμε με
- Κώδικας: Επιλογή όλων
gksudo gedit /etc/cron.daily/trim
Δημιουργήσαμε ένα αρχείο που μέσα θα βάλουμε το παρακάτω
- Κώδικας: Επιλογή όλων
#!/bin/sh
LOG=/home/το username μας/trim.log
echo "*** $(date -R) ***" >> $LOG
fstrim -v / >> $LOG
fstrim -v /home >> $LOG
Αντικαθιστούμε το "το username μας" με το κανονικό μας όνομα χρήστη.
Αν δεν έχουμε το home στον ssd απλά δεν βάζουμε την γραμμή fstrim -v /home >> $LOG
Σώνουμε και το κάνουμε εκτελέσιμο με την
- Κώδικας: Επιλογή όλων
sudo chmod +x /etc/cron.daily/trim
Σε απλά Ελληνικά αυτό που κάνουμε είναι, αντί για online trim, το κάνουμε χειροκίνητα, μόνο που βάζουμε ένα σκριπτ να κάνει την δουλειά αντί για εμάς.
Εδώ https://patrick-nagel.net/blog/archives/337 είχε καθυστέρηση 40 sec σε σχέση με ένα hdd, για διαγραφή μεγέθους 500ΜΒ αρχείων.
Το δοκιμάζω από σήμερα και θα σας πω σε καμιά βδομάδα εντυπώσεις.
Edit: Αν έχουμε κρυπτογράφηση, ακολουθούμε τις οδηγίες που έχει στην ιστοσελίδα που παρέθεσα στην αρχή.
Edit2: Στον προσωπικό μας φάκελο δημιουργείται ένα αρχείο με ονομασία trim.log, έτσι ώστε να ελέγχουμε όποτε θέλουμε την έξοδο της fstrim.
Edit3: Όλα δουλεύουν σωστά δοκιμάζοντας το τρεις μέρες.