TRIM automatico vs. TRIM manuale


13

Attualmente sto cercando di scoprire come tagliare con il mio nuovo TP e mi chiedevo quale fosse la differenza tra il taglio manuale / online.

Ecco la mia configurazione:

ThinkPad T430s con SSD Samsung 830, 128GB e Xubuntu 12.10, qui ci sono alcune uscite per verificare se il trim funzionerà sul mio sistema (ottenerli da qui: http://wiki.ubuntuusers.de/SSD/TRIM )

root@eike-tp:~# sudo hdparm -I /dev/sda | grep -i TRIM
   *    Data Set Management TRIM supported (limit 8 blocks)

Innanzitutto, ho provato il taglio online: come abilitare TRIM?

il mio fstab con scarto inserito:

UUID=d6c49c17-a4f1-466c-9f7e-896c20db3bba /  ext4  discard,noatime,errors=remount-ro  0  1
# swap was on /dev/sda5 during installation
UUID=a0322f5f-c6c1-4896-863f-668f0638d8cf none  swap  sw  0   0
tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0

Ho provato a verificare se funziona (ma non ottengo zero quando lo provo con / dev / sda), ma ho scoperto che questo metodo è possibile solo con SSD di tipo 2 e sembra che abbia il tipo 3. Quindi ho non so se funziona o no.

Ubuntuwiki (primo collegamento) raccomanda il taglio manuale, quindi ho impostato un cronjob giornaliero invece di scartarlo:

#!/bin/sh
LOG=/var/log/batched_discard.log
echo "*** $(date -R) ***" >> $LOG
fstrim -v / >> $LOG

l'articolo wiki suggerisce settimanalmente o quotidianamente. Ora alle mie domande:

Con che frequenza esegue il trim automatizzato? Quanto spesso è raccomandato? Ritaglio online o manuale?

grazie per l'aiuto

Risposte:


4

La differenza tra taglio automatico e taglio manuale è che il taglio automatico (usando l' discardopzione mount) taglia i blocchi liberati sulla sincronizzazione dopo l'eliminazione di qualsiasi file, mentre il taglio manuale (usando fstrim) taglia tutto lo spazio libero in una volta.

analisi

Un modo per verificare se funziona il ritaglio automatico sarebbe quello di creare ed eliminare un file di grandi dimensioni:

user@host:/somewhere$ dd if=/dev/urandom bs=1M count=100 of=bigfile
user@host:/somewhere$ sync
user@host:/somewhere$ rm bigfile
user@host:/somewhere$ sync

Se lo scarto automatico funziona, il taglio manuale di nuovo non taglierà molti blocchi, poiché dovrebbero essere già stati tagliati. Esegui sudo discard -vsul tuo filesystem e vedi quanti blocchi vengono tagliati.

Raccomandazione

Per quanto è raccomandato: nella mia esperienza, l'assetto automatico uccide le prestazioni. Tuttavia, ciò dipende probabilmente dall'hardware; potrebbe andare bene sul tuo disco.

Se stai usando il trim manuale, come per quanto spesso, pensa alla velocità con cui scrivi i dati nel tuo tipico carico di lavoro, rispetto alla quantità di spazio libero sul tuo SSD. Vuoi tagliare abbastanza spesso, prima che il tuo disco si riempia di dati cancellati. Se il tuo SSD è per lo più spazio libero o il carico di lavoro del disco è leggero, il taglio occasionale (settimanale o anche più lungo) dovrebbe essere sufficiente. Se il tuo SSD è per lo più pieno o, ad esempio, modifica spesso i file video, dovrai tagliare più spesso.


2

Non sono un ingegnere dello storage e ho delle preoccupazioni correlate , ma posso dare un suggerimento forse utile sulla pianificazione. Sono abbastanza fiducioso che TRIM non causi alcun fastidioso usura sull'SSD. È solo il servizio di pulizia che il tuo disco dovrà subire alla fine, prima che possa iniziare a riciclare i blocchi. Il miglior programma per il TRIMming batch dipenderà dall'uso; una funzione della frequenza di scrittura e dello spazio libero, dovrei pensare. Ciò in mente, disinserire il lavoro cron e fstrim -vmanualmente per diversi giorni.

Il trucco credo sia quello di creare un programma in cui il TRIM batch prepara l'SSD per la scrittura prima che i blocchi usati debbano essere riciclati per eseguire una normale operazione di scrittura, danneggiando così le prestazioni. Attendere 24 ore e attendere. Se afferma di aver tagliato molti meno blocchi rispetto allo spazio libero, è probabile che il TRIM in batch sia ben servito meno spesso di quello.



2

Ho tagliato il mio SSD ad ogni avvio. Ho creato un file sh che si chiama 20 secondi dopo l'avvio. Ho scelto di visualizzare l'output di fstrim in una notifica di sistema anziché in un file di registro.

prima crea il trim.shfile nella tua ~/bindirectory

#! /bin/sh
notify-send "TRIM" "$(sudo fstrim -v /)"

Ora dobbiamo dare i privilegi all'utente per eseguire fstrim, quindi non abbiamo bisogno di inserire una password. Apri il tuo file sudoers con visudo e aggiungi la seguente riga:

yourusername  ALL=(ALL) NOPASSWD: /sbin/fstrim

Se includi la tua home/yourusername/bincartella nella tua, $PATHpuoi anche tagliare manualmente nel terminale con il comando 'tagliare' senza la necessità di una password.

Ora puoi aggiungere il tuo script alle applicazioni di avvio e specificare un ritardo. È necessario disconnettersi / accedere nuovamente per caricare la nuova voce sudoers.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.