Ubuntu nepoužíva TRIM SSD štandardne: prečo nie a ako ju povoliť

Obsah:

Ubuntu nepoužíva TRIM SSD štandardne: prečo nie a ako ju povoliť
Ubuntu nepoužíva TRIM SSD štandardne: prečo nie a ako ju povoliť

Video: Ubuntu nepoužíva TRIM SSD štandardne: prečo nie a ako ju povoliť

Video: Ubuntu nepoužíva TRIM SSD štandardne: prečo nie a ako ju povoliť
Video: ミニクーパーだけで無双してみた 🚙💣~*【Burnin' Rubber 5 XS Race 1-6】 GamePlay 🎮📱 @xformgames - YouTube 2024, Smieť
Anonim
Ubuntu chce v štandardnom nastavení Ubuntu 14.04 povoliť protokol TRIM pre SSD. Inými slovami, Ubuntu ešte nepoužíva nástroj TRIM, takže váš SSD sa časom spomaľuje. Ale prečo už Ubuntu nepoužíva TRIM?
Ubuntu chce v štandardnom nastavení Ubuntu 14.04 povoliť protokol TRIM pre SSD. Inými slovami, Ubuntu ešte nepoužíva nástroj TRIM, takže váš SSD sa časom spomaľuje. Ale prečo už Ubuntu nepoužíva TRIM?

Táto správa pravdepodobne prinesie prekvapenie mnohým ľuďom, ktorí predpokladali, že distribučné súbory Ubuntu a iné linuxy už používajú nástroj TRIM. Služba TRIM zabraňuje spomaleniu SSD a je nevyhnutnou súčasťou údržby SSD.

Prečo je TRIM dôležitá

Objasnili sme, prečo je TRIM dôležitá predtým. Keď odstránite súbor na starom magnetickom pevnom disku, počítač jednoducho označuje tento súbor ako odstránený. Údaje súboru sa držia na pevnom disku - preto je možné obnoviť odstránené súbory. Počítač nakoniec prepíše odstránené súbory, keď prepíše svoje sektory novými údajmi.

Jednotky Solid State Drive (SSD) fungujú inak. Kedykoľvek napíšete súbor na jednotku SSD, počítač musí najprv vymazať všetky dáta v sektoroch, do ktorých sú zapisované dáta. Nemôže jednoducho "prepísať" sektory v jednej operácii - musí ich najprv vymazať a potom zapísať do prázdnych sektorov.

To znamená, že SSD sa časom spomalí. Písanie do sektorov SSD bude rýchlo prvýkrát. Po odstránení niektorých súborov a pokuse o napísanie znova to bude trvať dlhšie. Toto je veľká časť dôvodov, prečo sa pôvodný Nexus 7 spoločnosti Google časom spomalil. Spoločnosť Google to vyriešila implementáciou nástroja TRIM v systéme Android 4.3. (Android tiež používa linuxové jadro.)

Ak je TRIM povolený, operačný systém oznamuje jednotku SSD pri každom odstránení súboru. Jednotka môže potom vymazať sektory obsahujúce obsah súboru, takže písanie do sektorov bude v budúcnosti rýchle.

Inými slovami, ak nepoužívate TRIM, váš SSD sa časom spomalí. Preto moderné operačné systémy vrátane Windows 7+, Mac OS X 10.6.8+ a Android 4.3+ používajú TRIM. TRIM bol implementovaný v Linuxe už v decembri 2008, ale Ubuntu ho štandardne nepoužíva.

Prečo nie je štandardne Ubuntu TRIM?

Skutočným dôvodom, prečo Ubuntu v predvolenom nastavení neobsahuje súpravy TRIM SSD, je to, že implementácia TRIM v Linuxovom jadre je pomalá a má za následok slabý výkon pri bežnom používaní.

V systémoch Windows 7 a 8 systém Windows pošle príkaz TRIM zakaždým, keď vymaže súbor, čím požiada jednotku, aby ihneď odstránila bity súboru. Linux to podporuje, keď sú systémy súborov pripojené s možnosťou "Zrušiť". Avšak Ubuntu a iné distribúcie to z dôvodu výkonu nevykonávajú štandardne.

Wiki OpenSUSE obsahuje niekoľko podrobných informácií od vývojára, ktorý je lepšie oboznámený s Linuxovým jadrom ako my. Je to trochu staršie, ale je pravdepodobné, že je to pravda, pokiaľ ide o výkon:

“The kernel implementation of realtime trim in 11.2, 11.3, and 11.4 is not optimized. The spec. calls for trim supporting a vectorized list of trim ranges, but as of kernel 3.0 trim is only invoked by the kernel with a single discard / trim range and with current mid 2011 SSDs this has proven to cause a performance degradation instead of a performance increase. There are few reasons to use the kernels realtime discard support with pre-3.1 kernels. It is not known when the kernels discard functionality will be optimized to work beneficially with current generation SSDs.” [Source]

Inými slovami, jadro Linuxu spracováva príkazy TRIM v reálnom čase pomalým a neoptimalizovaným spôsobom. Povolenie nástroja TRIM podobné tomu, ako systém Windows - to znamená používanie možnosti "Zrušiť" - spôsobí, že systém sa skutočne stáva pomalší, než keby sa TRIM nepoužil vôbec. Ubuntu a ďalšie distribúcie Linuxu neumožňujú predvolené "zbaviť" súborových systémov a nemali by ste ani jeden.

Image
Image

Existuje ďalšia cesta

Pretože operácia TRIM v reálnom čase "zlikvidovať" Linuxovo jadro nefunguje dobre, väčšina linuxových distribúcií - vrátane Ubuntu - nepoužíva TRIM automaticky. Android tiež nepoužil TRIM do Android 4.3.

Ale existuje ďalší spôsob, ako používať TRIM. Namiesto toho, že jednoducho vydáte príkaz TRIM pri každom odstránení súboru, je možné použiť funkciu FITRIM. To sa deje prostredníctvom príkazu fstrim. V podstate príkaz fstrim analyzuje súborový systém a informuje disk o tom, ktoré bloky už nie sú potrebné, aby sa disk mohol zbaviť. Týmto sa TRIM prepne z operácie v reálnom čase na naplánovanú úlohu. Inými slovami, fstrim môže vykonávať TRIM ako cron úlohu. Nie je dôvod, aby to nebolo. Nebude nič spomaliť; je to len ďalšia úloha, ktorú musí systém vykonať podľa plánu.

V skutočnosti ide o prístup, ktorý spoločnosť Google prevzala so systémom Android 4.3. Android jednoducho beží úlohu fstrim príležitostne na TRIM súborový systém, opraviť problém, ktorý spomalil všetky tie pôvodné Nexus 7s.

Ubuntu sa tiež zameriava na to, že umožňuje automatické spúšťanie systému TRIM tým, že systém pravidelne spustí fstrim. Dúfam, že to bude súčasťou Ubuntu 14.04, takže používatelia Ubuntu nebudú nútení riešiť degradáciu výkonnosti SSD alebo spustiť fstrim na vlastnú päsť.

Ako povoliť TRIM

Neodporúčame pripevňovať súborové systémy pomocou operácie "zlikvidovať", pretože to pravdepodobne povedie k pomalšiemu výkonu pri bežnom používaní. Avšak môžete použiť TRIM sami príležitostne spustením príkazu fstrim alebo vytváraním vlastného cronjob, ktorý beží fstrim podľa plánu.

Ak chcete TRIM SSD na Ubuntu, jednoducho otvorte terminál a spustite nasledujúci príkaz:

sudo fstrim -v /

Príležitostne môžete spustiť uvedený príkaz, aby ste predišli degradácii výkonu na SSD. Ako často to potrebujete spustiť, závisí od toho, ako často súbory z vášho SSD odstránené. Ak sa pokúsite spustiť príkaz s jednotkou, ktorá nepodporuje funkciu TRIM, zobrazí sa chyba.
Príležitostne môžete spustiť uvedený príkaz, aby ste predišli degradácii výkonu na SSD. Ako často to potrebujete spustiť, závisí od toho, ako často súbory z vášho SSD odstránené. Ak sa pokúsite spustiť príkaz s jednotkou, ktorá nepodporuje funkciu TRIM, zobrazí sa chyba.

Ak chcete TRIM používať pravidelne, môžete jednoducho vytvoriť cronjob, ktorý pre vás spustí príkaz fstrim.Tu je postup, ako urobiť úlohu barebones cron, ktorá to urobí automaticky.

Najskôr spustite nasledujúci príkaz na otvorenie nano textového editora s oprávneniami root:

sudo nano /etc/cron.daily/fstrim

Do súboru zadajte nasledujúci kód:

#!/bin/sh

fstrim /

Uložte súbor stlačením klávesov Ctrl + O a stlačením klávesu Enter potvrďte. Stlačením klávesov Ctrl + X zatvorte nano po uložení súboru.
Uložte súbor stlačením klávesov Ctrl + O a stlačením klávesu Enter potvrďte. Stlačením klávesov Ctrl + X zatvorte nano po uložení súboru.

Nakoniec spustite nasledujúci príkaz na spustenie skriptu:

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

Ubuntu sa teraz spustí fstrim podľa plánu, rovnako ako ostatné úlohy údržby systému.
Ubuntu sa teraz spustí fstrim podľa plánu, rovnako ako ostatné úlohy údržby systému.

Treba poznamenať, že TRIM je podporovaný iba v moderných systémoch súborov, takže budete potrebovať niečo ako ext4 a nie ext3 alebo ext2. Ak neviete, aký súborový systém používate, nebojte sa - v predvolenom nastavení je zvolený ext4.

Veľa z týchto rád sa vzťahuje aj na iné distribúcie Linuxu. Zatiaľ čo Linux implementoval podporu TRIM v jadre už dávno, zdá sa, že jeho podpora TRIM nikdy nebola nikdy povolená pre typických používateľov v distribúciách Linuxu.

Odporúča: