Ubuntu vuole abilitare TRIM per SSD per impostazione predefinita in Ubuntu 14.04. In altre parole, Ubuntu non sta già utilizzando TRIM, quindi il tuo SSD sta rallentando nel tempo. Ma perché Ubuntu non utilizza già TRIM?
Questa notizia sarà probabilmente una sorpresa per molte persone, che presumevano che Ubuntu e altre distribuzioni Linux stessero già utilizzando TRIM. TRIM impedisce agli SSD di rallentare nel tempo ed è una parte necessaria della manutenzione SSD.
Perché TRIM è importante
Abbiamo coperto perché TRIM è importante prima. Quando si elimina un file su un vecchio disco rigido magnetico, il computer contrassegna semplicemente quel file come eliminato. I dati del file restano sul disco rigido, ecco perché i file eliminati possono essere recuperati . Il computer alla fine sovrascriverà i file eliminati quando sovrascriverà i loro settori con nuovi dati.
Le unità a stato solido (SSD) funzionano in modo diverso . Ogni volta che scrivi un file su un SSD, il computer deve prima cancellare tutti i dati nei settori in cui sta scrivendo i dati. Non può semplicemente "sovrascrivere" i settori in un'unica operazione: deve prima cancellarli, quindi scrivere sui settori vuoti.
Ciò significa che un SSD rallenterà nel tempo. La scrittura sui settori dell'SSD sarà rapida la prima volta. Dopo aver eliminato alcuni file e aver tentato di scrivere di nuovo, l'operazione richiederà più tempo. Questo è uno dei motivi principali per cui il Nexus 7 originale di Google ha subito un rallentamento così tanto nel tempo. Google ha risolto questo problema implementando TRIM in Android 4.3. (Android utilizza anche il kernel Linux.)
Con TRIM abilitato, il sistema operativo comunica all'SSD ogni volta che elimina un file. L'unità può quindi cancellare i settori che contengono il contenuto del file, quindi la scrittura nei settori sarà rapida in futuro.
In altre parole, se non utilizzi TRIM, il tuo SSD rallenterà nel tempo. Ecco perché i sistemi operativi moderni, inclusi Windows 7 e versioni successive, Mac OS X 10.6.8 e versioni successive e Android 4.3 e versioni successive, utilizzano TRIM. TRIM è stato implementato in Linux nel dicembre 2008, ma Ubuntu non lo utilizza per impostazione predefinita.
RELAZIONATO: Che cos'è un Solid State Drive (SSD) e ne ho bisogno?
Perché Ubuntu non TRIM per impostazione predefinita?
Il vero motivo per cui Ubuntu non TRIM SSD per impostazione predefinita è perché l'implementazione del kernel Linux di TRIM è lenta e si traduce in scarse prestazioni nell'uso normale.
Su Windows 7 e 8, Windows invia un comando TRIM ogni volta che elimina un file, dicendo all'unità di eliminare immediatamente i bit del file. Linux lo supporta quando i file system sono montati con l'opzione "discard". Tuttavia, Ubuntu e altre distribuzioni non lo fanno per impostazione predefinita per motivi di prestazioni.
Il wiki di OpenSUSE contiene alcune informazioni dettagliate di uno sviluppatore che ha più familiarità con il kernel Linux di noi. È un po 'datato, ma probabilmente è ancora vero quando si tratta di prestazioni:
“L'implementazione del kernel del taglio in tempo reale in 11.2, 11.3 e 11.4 non è ottimizzata. La spec. richiede trim che supporti un elenco vettoriale di intervalli di trim, ma a partire dal kernel 3.0 il trim viene invocato dal kernel solo con un singolo intervallo di scarto / taglio e con gli attuali SSD della metà del 2011 questo ha dimostrato di causare un degrado delle prestazioni invece di un aumento delle prestazioni. Ci sono pochi motivi per utilizzare il supporto per l'eliminazione in tempo reale dei kernel con kernel precedenti alla 3.1. Non è noto quando la funzionalità di eliminazione dei kernel sarà ottimizzata per funzionare in modo vantaggioso con gli SSD di generazione corrente ". [ fonte ]
In altre parole, il kernel Linux gestisce questi comandi TRIM in tempo reale in modo lento e non ottimizzato. Abilitare TRIM in modo simile a come fa Windows, ovvero utilizzando l'opzione "scarta", fa sì che il sistema diventi effettivamente più lento rispetto a quando TRIM non fosse utilizzato affatto. Ubuntu e altre distribuzioni Linux non abilitano "scarta" per impostazione predefinita per i tuoi file system e nemmeno tu dovresti.
C'è un altro modo
Poiché l'operazione TRIM "scarta" in tempo reale del kernel Linux non funziona bene, la maggior parte delle distribuzioni Linux, inclusa Ubuntu, non utilizza TRIM automaticamente. Inoltre Android non utilizzava TRIM fino ad Android 4.3.
Ma c'è un altro modo per usare TRIM. Invece di emettere semplicemente il comando TRIM ogni volta che un file viene eliminato, è possibile utilizzare la funzione FITRIM. Ciò avviene tramite il comando fstrim. In sostanza, il comando fstrim analizza il file system e comunica all'unità quali blocchi non sono più necessari, in modo che l'unità possa eliminarli. Questo trasforma TRIM da un'operazione in tempo reale in un'attività pianificata. In altre parole, fstrim può eseguire TRIM come un cron job. Non c'è motivo per non farlo. Non rallenterà nulla; è solo un altro compito di pulizia della casa che il sistema deve svolgere secondo un programma.
RELAZIONATO: Perché il mio Nexus 7 è così lento? 8 modi per accelerarlo di nuovo
In effetti, questo è l'approccio adottato da Google con Android 4.3. Android esegue semplicemente un'attività fstrim di tanto in tanto per TRIM il file system, risolvendo il problema che ha rallentato tutti quei Nexus 7 originali .
Ubuntu sta anche cercando di abilitare TRIM automaticamente facendo in modo che il sistema esegua regolarmente fstrim. Si spera che questo faccia parte di Ubuntu 14.04, quindi gli utenti di Ubuntu non saranno costretti a gestire il degrado delle prestazioni SSD o ad eseguire fstrim da soli.
Come abilitare TRIM
Sconsigliamo di montare i file system con l'operazione di "eliminazione", poiché ciò potrebbe comportare un rallentamento delle prestazioni durante il normale utilizzo. Tuttavia, puoi utilizzare TRIM da solo eseguendo occasionalmente il comando fstrim o creando il tuo cronjob che esegue fstrim in base a una pianificazione.
Per TRIM il tuo SSD su Ubuntu, apri semplicemente un terminale ed esegui il seguente comando:
sudo fstrim -v /
È possibile eseguire il comando sopra di tanto in tanto per evitare il degrado delle prestazioni sugli SSD. La frequenza con cui devi eseguirlo dipende dalla frequenza con cui i file vengono eliminati dal tuo SSD. Vedrai un errore se provi a eseguire il comando con un'unità che non supporta TRIM.
Se vuoi eseguire TRIM regolarmente, puoi semplicemente creare un cronjob che esegua il comando fstrim per te. Ecco come creare un cron job barebone che lo farà automaticamente.
Innanzitutto, esegui il seguente comando per aprire l'editor di testo nano con permessi di root:
sudo nano /etc/cron.daily/fstrim
Digita il seguente codice nel file:
#! / bin / sh
fstrim /
Salvare il file premendo Ctrl + O e premere Invio per confermare. Premi Ctrl + X per chiudere nano dopo aver salvato il file.
Infine, esegui il seguente comando per rendere eseguibile lo script:
sudo chmod + x /etc/cron.daily/fstrim
Ubuntu ora eseguirà fstrim in base a una pianificazione, proprio come fa altre attività di manutenzione del sistema.
Nota che TRIM è supportato solo sui file system moderni, quindi avrai bisogno di qualcosa come ext4 e non ext3 o ext2. Se non sai quale file system stai utilizzando, non preoccuparti: ext4 è selezionato per impostazione predefinita.
Gran parte di questo consiglio si applica anche ad altre distribuzioni Linux. Mentre Linux ha implementato il supporto TRIM nel kernel molto tempo fa, il suo supporto TRIM sembra non essere mai stato abilitato per impostazione predefinita per gli utenti tipici nelle distribuzioni Linux.
Credito immagine: Mace Ojala su Flickr (ritagliata)