If-Koubou

Ubuntu nu trimit SSD-uri implicit: De ce nu și cum să-l activați singuri

Ubuntu nu trimit SSD-uri implicit: De ce nu și cum să-l activați singuri (Cum să)

Ubuntu dorește să activa implicit TRIM pentru SSD-uri în Ubuntu 14.04. Cu alte cuvinte, Ubuntu nu utilizează deja TRIM, deci SSD-ul dvs. încetinește în timp. Dar de ce Ubuntu nu utilizează deja TRIM?

Această știre va fi probabil o surpriză pentru mulți oameni, care au presupus că Ubuntu și alte distribuții Linux folosesc deja TRIM. TRIM împiedică încetinirea SSD-urilor în timp și este o parte necesară a întreținerii SSD.

De ce TRIM este important

Am analizat de ce TRIM este important înainte. Când ștergeți un fișier pe o unitate hard disk veche, computerul simulează pur și simplu acel fișier ca eliminat. Datele fișierelor se află pe unitatea hard disk - de aceea pot fi recuperate fișierele șterse. În cele din urmă, computerul va suprascrie fișierele șterse când suprascrie sectoarele lor cu date noi.

Solid-state drives (SSD) funcționează diferit. Ori de câte ori scrieți un fișier pe un SSD, calculatorul trebuie mai întâi să ștergă toate datele din sectoarele în care scrie datele. Nu poate doar "suprascrie" sectoarele într-o singură operațiune - trebuie să le clarifice mai întâi, apoi să scrie în sectoarele goale.

Aceasta înseamnă că un SSD va încetini în timp. Scrierea în sectoarele SSD va fi rapidă pentru prima dată. După ce ștergeți unele fișiere și încercați să le scrieți din nou, va dura mai mult. Aceasta este o mare parte a motivului pentru care versiunea originală Nexus 7 de la Google a încetinit atât de mult în timp. Google a rezolvat această problemă prin implementarea TRIM în Android 4.3. (Android folosește și kernel-ul Linux).

Cu TRIM activat, sistemul de operare îi spune SSD de fiecare dată când șterge un fișier. Unitatea poate șterge apoi sectoarele care conțin conținutul fișierului, așadar scrierea către sectoare va fi rapidă în viitor.

Cu alte cuvinte, dacă nu utilizați TRIM, SSD va încetini în timp. De aceea sistemele moderne de operare, inclusiv Windows 7+, Mac OS X 10.6.8+ și Android 4.3+ folosesc TRIM. TRIM a fost implementat în Linux în decembrie 2008, însă Ubuntu nu o folosește în mod implicit.

De ce nu este implicit Ubuntu TRIM?

Motivul real pentru care Ubuntu nu are în mod implicit SSD-urile TRIM este că implementarea kernel-ului Linux a TRIM este lentă și are ca rezultat o performanță slabă în utilizarea normală.

În Windows 7 și 8, Windows trimite o comandă TRIM de fiecare dată când șterge un fișier, spunând unității să ștergă imediat biții din fișier. Linux acceptă acest lucru când sistemele de fișiere sunt montate cu opțiunea "Äúdiscard". Cu toate acestea, Ubuntu - și alte distribuții - nu fac acest lucru implicit din motive de performanță.

Wiki-ul OpenSUSE conține informații detaliate de la un dezvoltator care este mai familiarizat cu kernelul Linux decât suntem. Este un pic datat, dar probabil este încă adevărat atunci când vine vorba de performanță:

, "Implementarea kernel-ului în timp real în 11.2, 11.3 și 11.4 nu este optimizată. Spec. solicită o ajustare care să susțină o listă vectorizată de intervale de decupare, dar din momentul în care nucleul 3.0 este invocat de kernel cu o singură gamă de aruncare / decupare și cu SSD-urile din mijlocul anului 2011, acest lucru sa dovedit a provoca o degradare a performanței în loc de o creștere a performanței. Există puține motive să utilizați suportul pentru kernel-uri în timp real, cu ajutorul kernel-urilor pre-3.1. Nu se știe când funcțiile de eliminare a kernelurilor vor fi optimizate pentru a funcționa eficient cu SSD generație curentă. "[Source]

Cu alte cuvinte, kernel-ul Linux manipulează astfel de comenzi TRIM în timp real într-un mod lent, neoptimizat. Activarea TRIM asemănătoare cu modul în care funcționează Windows - adică folosind opțiunea "Äúdiscard" - are ca rezultat faptul că sistemul devine mai lent decât dacă TRIM nu ar fi fost deloc folosită. Ubuntu și alte distribuții Linux nu permit, în mod implicit, să funcționeze pentru sistemele de fișiere și nu ar trebui să faceți nici una.

Există o altă cale

Deoarece operația TRIM în timp real a kernel-ului Linux nu funcționează bine, majoritatea distribuțiilor Linux - inclusiv Ubuntu - nu utilizează automat TRIM. Android, de asemenea, nu a folosit TRIM până la Android 4.3.

Dar există o altă modalitate de a utiliza TRIM. În loc să emiteți comanda TRIM de fiecare dată când este șters un fișier, se poate utiliza caracteristica FITRIM. Aceasta se întâmplă prin comanda fstrim. În esență, comanda fstrim analizează sistemul de fișiere și informează unitatea despre blocurile care nu mai sunt necesare, astfel încât unitatea să le poată arunca. Acest lucru transformă TRIM dintr-o operație în timp real într-o sarcină programată. Cu alte cuvinte, fstrim poate efectua TRIM ca un job cron. Nu există niciun motiv să nu faceți acest lucru. Nu va încetini nimic; este doar o altă sarcină de curățare pe care sistemul trebuie să o efectueze într-un program.

De fapt, aceasta este abordarea pe care Google a luat-o cu Android 4.3. Android pur și simplu execută o sarcină fstrim ocazional pentru a TRIM sistemul de fișiere, rezolvând problema care a încetinit toate cele Nexus 7 originale.

Ubuntu se uită, de asemenea, la activarea TRIM în mod automat prin faptul că sistemul rulează regulat fstrim. Acest lucru va fi, sperăm, parte din Ubuntu 14.04, astfel încât utilizatorii Ubuntu nu vor fi forțați să se ocupe de degradarea performanțelor SSD sau să ruleze fstrim pe cont propriu.

Cum se activează TRIM

Nu vă recomandăm să montați sistemele de fișiere în operațiunea "Äúdiscard", deoarece acest lucru va duce probabil la o performanță mai lentă în utilizarea normală. Cu toate acestea, puteți utiliza TRIM-ul dvs. prin rularea ocazională a comenzii fstrim sau crearea propriului cronjob care rulează fstrim la un program.

Pentru a TRIM SSD-ul pe Ubuntu, deschideți pur și simplu un terminal și rulați următoarea comandă:

sudo fstrim -v /

Puteți rula comanda de mai sus ocazional pentru a preveni degradarea performanțelor pe SSD-uri. Cât de des trebuie să executați aceasta depinde de cât de des sunt șterse fișierele de pe SSD. Veți vedea o eroare dacă încercați să executați comanda cu o unitate care nu acceptă TRIM.

Dacă doriți să rulați regulat TRIM, puteți să creați pur și simplu un cronjob care execută comanda fstrim pentru dvs. Iată cum să faceți o lucrare cronică de barebone care va face acest lucru automat.

Mai întâi, executați următoarea comandă pentru a deschide editorul de text nano cu permisiuni root:

sudo nano /etc/cron.daily/fstrim

Introduceți în fișier următorul cod:

#! / Bin / sh

fstrim /

Salvați fișierul apăsând Ctrl + O și apăsați Enter pentru a confirma. Apăsați Ctrl + X pentru a închide nano după salvarea fișierului.

În cele din urmă, executați următoarea comandă pentru a crea scriptul executabil:

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

Ubuntu va rula acum fstrim la un program, la fel ca și alte sarcini de întreținere a sistemului.

Rețineți că TRIM este acceptat numai pe sisteme moderne de fișiere, deci veți avea nevoie de ceva de genul ext4 și nu ext3 sau ext2. Dacă nu știți ce sistem de fișiere utilizați, nu vă faceți griji - în mod implicit este selectat ext4.

O mare parte din acest sfat se aplică și altor distribuții Linux. În timp ce Linux a implementat suportul TRIM în kernel de mult timp în urmă, suportul TRIM pare să nu fi fost activat în mod implicit pentru utilizatorii tipici din distribuțiile Linux.

Credit de imagine: Mace Ojala pe Flickr (tăiat)