9Sep

Ubuntu non esegue il TRIM SSD di default: perché no e come abilitarlo

Ubuntu vuole abilitare TRIM per SSD di default 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 sta già usando TRIM?

Questa notizia sarà probabilmente una sorpresa per molte persone, che presumevano che Ubuntu e altre distribuzioni Linux stessero già usando TRIM.TRIM impedisce agli SSD di rallentare nel tempo ed è una parte necessaria della manutenzione SSD.

Perché TRIM è importante

Abbiamo spiegato perché TRIM è importante prima. Quando elimini un file su un vecchio disco magnetico, il computer contrassegna semplicemente quel file come cancellato. I dati del file rimangono sul disco rigido: ecco perché i file cancellati possono essere recuperati. Il computer finirà per sovrascrivere i file eliminati quando sovrascrive i loro settori con nuovi dati.

Le unità a stato solido( SSD) funzionano in modo diverso. Ogni volta che si scrive 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: prima deve cancellarli, quindi scrivere nei settori vuoti.

Ciò significa che un SSD rallenterà nel tempo. La scrittura nei settori SSD sarà rapida la prima volta. Dopo aver eliminato alcuni file e provato a scrivere di nuovo, ci vorrà più tempo. Questa è una parte importante del motivo per cui il Nexus 7 originale di Google ha subito un rallentamento nel tempo. Google ha risolto questo problema implementando TRIM in Android 4.3.(Android usa anche il kernel Linux.)

Con TRIM abilitato, il sistema operativo dice all'SSD ogni volta che cancella un file. L'unità può quindi cancellare i settori contenenti i contenuti del file, quindi la scrittura nei settori sarà rapida in futuro.

In altre parole, se non si utilizza TRIM, il tuo SSD rallenterà nel tempo. Ecco perché i moderni sistemi operativi, incluso Windows 7+, Mac OS X 10.6.8+ e Android 4.3+ utilizzano TRIM.TRIM è stato implementato in Linux nel dicembre 2008, ma Ubuntu non lo utilizza per impostazione predefinita.

ARTICOLI CORRELATI
Che cos'è un Solid State Drive( SSD) e ne ho bisogno?
Devo "ottimizzare" il mio SSD con software di terze parti?

Perché Ubuntu TRIM non è predefinito?

La vera ragione per cui Ubuntu non esegue il TRIM SSD di default è perché l'implementazione del TRIM del kernel Linux è lenta e si traduce in prestazioni scadenti nell'uso normale.

Su Windows 7 e 8, Windows invia un comando TRIM ogni volta che cancella un file, dicendo al drive di eliminare immediatamente i bit del file. Linux supporta questo quando i file system vengono montati con l'opzione "scarta".Tuttavia, Ubuntu e altre distribuzioni non lo fanno per impostazione predefinita per motivi di prestazioni. La wiki di

OpenSUSE contiene alcune informazioni dettagliate da uno sviluppatore che ha più familiarità con il kernel di Linux di noi.È un po 'datato, ma è probabile che sia ancora vero quando si tratta di prestazioni:

"L'implementazione del kernel del trim in tempo reale in 11.2, 11.3 e 11.4 non è ottimizzata. Le specifichechiama trim che supporta un elenco vettorizzato di intervalli di trim, ma dal kernel 3.0 trim viene invocato dal kernel solo con un singolo intervallo di scarto / trim e con gli attuali SSD a metà del 2011 questo ha dimostrato di causare un peggioramento delle prestazioni anziché un aumento delle prestazioni. Esistono pochi motivi per utilizzare il supporto degli scarti in tempo reale dei kernel con i kernel pre-3.1.Non è noto quando la funzionalità di eliminazione dei kernel sarà ottimizzata per funzionare in modo vantaggioso con gli SSD di generazione corrente. "[Origine]

In altre parole, il kernel di Linux gestisce questi comandi TRIM in tempo reale in modo lento e non ottimizzato. Abilitando il TRIM in modo simile a come fa Windows, ovvero utilizzando l'opzione "scarta", il sistema diventa effettivamente più lento di quando TRIM non viene utilizzato affatto. Ubuntu e altre distribuzioni Linux non abilitano "scarto" di default per i tuoi file system, e non dovresti neanche.

C'è un altro modo

Poiché l'operazione TRIM "scarto" in tempo reale del kernel Linux non ha prestazioni ottimali, la maggior parte delle distribuzioni Linux, inclusa Ubuntu, non usano automaticamente TRIM.Anche Android non ha utilizzato TRIM fino ad Android 4.3.

Ma c'è un altro modo di usare TRIM.Invece di emettere semplicemente il comando TRIM ogni volta che un file viene eliminato, è possibile utilizzare la funzione FITRIM.Questo succede tramite il comando fstrim. In sostanza, il comando fstrim analizza il file system e informa l'unità quali blocchi non sono più necessari, quindi l'unità può 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'è ragione per non farlo. Non rallenterà nulla;è solo un altro compito di pulizia della casa che il sistema deve eseguire secondo un programma.

In realtà, questo è l'approccio adottato da Google con Android 4.3.Android esegue semplicemente occasionalmente un'attività fstrim per TRIM il file system, risolvendo il problema che ha rallentato tutti i Nexus 7 originali.

Ubuntu sta anche cercando di abilitare TRIM automaticamente facendo in modo che il sistema esegua regolarmente fstrim. Questo si spera che faccia parte di Ubuntu 14.04, quindi gli utenti di Ubuntu non saranno costretti a gestire il degrado delle prestazioni di SSD o a eseguire fstrim da soli.

Come abilitare TRIM

Si sconsiglia di installare i propri file system con l'operazione "discard", in quanto ciò probabilmente si tradurrà in prestazioni più lente nell'uso normale. Tuttavia, è possibile utilizzare TRIM manualmente eseguendo occasionalmente il comando fstrim o creando il proprio cronjob che esegue fstrim in base a una pianificazione.

Per TRIM il tuo SSD su Ubuntu, basta aprire un terminale ed eseguire il seguente comando:

sudo fstrim -v /

È possibile eseguire il comando sopra di tanto in tanto per evitare il degrado delle prestazioni su SSD.La frequenza con cui è necessario eseguirlo dipende dalla frequenza con cui i file vengono eliminati dall'unità SSD.Verrà visualizzato un errore se si tenta di eseguire il comando con un'unità che non supporta TRIM.

Se si desidera eseguire TRIM regolarmente, è sufficiente creare un cronjob che esegua il comando fstrim. Ecco come fare un cron job barebone che lo farà automaticamente.

Per prima cosa, eseguire il seguente comando per aprire l'editor di testo nano con i permessi di root:

sudo nano /etc/cron.daily/ fstrim

Digitare 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, eseguire il comando seguente per rendere eseguibile lo script:

sudo chmod + x /etc/cron.daily/ fstrim

Ubuntu eseguirà ora fstrim su una pianificazione, proprio come fa altre attività di manutenzione del sistema.

Nota che TRIM è supportato solo su file system moderni, quindi avrai bisogno di qualcosa come ext4 e non ext3 o ext2.Se non sai quale file system stai usando, 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 di default per gli utenti tipici nelle distribuzioni Linux. Credito immagine

: Mace Ojala su Flickr( ritagliato)