Domovská » jak » Ubuntu nezaznamenává standardní SSD jednotky TRIM Proč ne a jak ji povolit

    Ubuntu nezaznamenává standardní SSD jednotky TRIM Proč ne a jak ji povolit

    Ubuntu chce ve výchozím nastavení povolit TRIM pro SSD v Ubuntu 14.04. Jinými slovy, Ubuntu již nepoužívá TRIM, takže vaše SSD se časem zpomaluje. Ale proč není Ubuntu již používá TRIM?

    Tato zpráva se pravděpodobně stane překvapením pro mnoho lidí, kteří předpokládali, že distribuce Ubuntu a další linuxy již používají TRIM. TRIM zabraňuje zpomalení SSD a je nezbytnou součástí údržby SSD.

    Proč je TRIM důležitý

    Pokryli jsme, proč je TRIM důležitý předtím. Když odstraníte soubor na starém magnetickém pevném disku, počítač jednoduše označí tento soubor jako smazaný. Datové soubory se na pevném disku držely kolem - proto je možné obnovit smazané soubory. Počítač nakonec odstraní odstraněné soubory, když přepsají své sektory novými daty.

    Solidní disky (SSD) fungují jinak. Kdykoli zapíšete soubor na jednotku SSD, musí počítač nejprve vymazat všechna data v sektorech, do kterých data zapisuje. Nemůže pouze "přepsat" sektory v jedné operaci - musí je nejdříve vymazat a zapsat do prázdných sektorů.

    To znamená, že SSD se časem zpomalí. Psaní do sektorů SSD bude poprvé rychlé. Po odstranění některých souborů a pokusu o jejich opětovné zápisy bude trvat déle. To je velká část důvodů, proč se původní Nexus 7 Google časem zpomalil. Společnost Google toto vyřešila implementací nástroje TRIM v systému Android 4.3. (Android také používá jádro Linuxu.)

    Při povoleném příkazu TRIM operační systém sděluje jednotku SSD pokaždé, když odstraní soubor. Jednotka pak může vymazat sektory, které obsahují obsah souboru, takže psaní do sektorů bude v budoucnosti rychlé.

    Jinými slovy, pokud nepoužíváte TRIM, váš SSD se časem zpomalí. To je důvod, proč moderní operační systémy, včetně Windows 7+, Mac OS X 10.6.8+ a Android 4.3+ používají TRIM. TRIM byl implementován v Linuxu v prosinci 2008, ale Ubuntu jej ve výchozím nastavení nepoužívá.

    Proč není standardně Ubuntu TRIM?

    Skutečným důvodem, proč Ubuntu ve výchozím nastavení neobsahuje jednotky TRIM SSD, je to, že implementace TRIM v Linuxovém jádře je pomalá a má za následek špatný výkon při běžném používání.

    V systémech Windows 7 a 8 systém Windows pošle příkaz TRIM pokaždé, když odstraní soubor, a řekne jednotce, aby okamžitě odstranil bity souboru. Linux to podporuje, když jsou souborové systémy namontovány s volbou "Vyhoďte". Ubuntu a jiné distribuce to však z důvodů výkonu nevykonávají ve výchozím nastavení.

    Wiki OpenSUSE obsahuje některé podrobné informace od vývojáře, který je lépe seznámen s jádrem Linuxu než my. Je to trochu datováno, ale je pravděpodobné, že jde o výkon:

    "Implementace jádra v reálném čase v krocích 11.2, 11.3 a 11.4 není optimalizována. Specifikace. vyžaduje výbrus podporující vektorizovaný seznam okrajů trim, ale odkrytí jádra 3.0 je vyvoláno pouze jádrem s jediným rozpětím / výbrusem a se současnými SSD v polovině roku 2011 se ukázalo, že způsobuje snížení výkonnosti místo zvýšení výkonu. Existuje jen málo důvodů, proč se podpora jádra v reálném čase zlikvidovat s jádry před 3.1. Není známo, kdy budou funkce jádra zrušena, aby byla optimalizována pro efektivní práci se současnými generátory SSD. "[Zdroj]

    Jinými slovy, jádro Linuxu zpracovává příkazy TRIM v reálném čase pomalu a neoptimalizovaně. Povolení příkazu TRIM podobného tomu, jakým systém Windows dělá - to znamená pomocí možnosti "vyřadit" - vede k tomu, že se systém skutečně zpomalí, než kdyby se TRIM vůbec nepoužíval. Ubuntu a další distribuce systému Linux ve výchozím nastavení neumožňují "vyřadit" vaše systémy souborů a neměli byste ani jeden.

    Je jiná cesta

    Jelikož operace TRIM v reálném čase "jíst" v operačním systému Linux nefunguje dobře, většina distribucí Linuxu - včetně Ubuntu - nepoužívá TRIM automaticky. Android také nepoužil TRIM do Android 4.3.

    Existuje ale i jiný způsob, jak používat TRIM. Spíše než jednoduše vydávat příkaz TRIM pokaždé, když je soubor smazán, je možné použít funkci FITRIM. To se děje prostřednictvím příkazu fstrim. Příkaz fstrim v zásadě analyzuje souborový systém a informuje měnič, které bloky již nejsou potřebné, takže je jednotka může odhodit. Tím se provádí TRIM z operace v reálném čase na plánovaný úkol. Jinými slovy, fstrim může provádět TRIM jako cron úlohu. Není důvod, aby to nebylo. Nebude nic zpomalovat; je to jen další úklid, který musí systém provádět podle plánu.

    Ve skutečnosti se jedná o přístup, který Google vzal s Androidem 4.3. Android prostě běží úlohu fstrim příležitostně na TRIM souborový systém, opravit problém, který zpomalil všechny původní Nexus 7s.

    Ubuntu se rovněž zabývá tím, že umožňuje automatické spuštění systému TRIM tím, že systém pravidelně spouští fstrim. To snad bude součástí Ubuntu 14.04, takže uživatelé Ubuntu nebudou nuceni řešit degradaci výkonů SSD nebo spustit fstrim sám o sobě.

    Jak povolit TRIM

    Nedoporučujeme instalovat souborové systémy pomocí operace "Vyhoďte", protože to pravděpodobně povede k pomalejšímu výkonu při běžném používání. Nicméně můžete použít TRIM sami občas spustit příkaz fstrim nebo vytvořit vlastní cronjob, který běží fstrim podle plánu.

    Chcete-li provést test na disku SSD v Ubuntu, jednoduše otevřete terminál a spusťte následující příkaz:

    sudo fstrim -v /

    Občas můžete spustit výše uvedený příkaz, abyste předešli zhoršení výkonu na jednotkách SSD. Jak často je třeba spustit, závisí na tom, jak často jsou soubory ze zařízení SSD odstraněny. Pokud se pokusíte spustit příkaz s jednotkou, která nepodporuje příkaz TRIM, uvidíte chybu.

    Chcete-li spustit program TRIM pravidelně, můžete jednoduše vytvořit cronjob, který pro vás spustí příkaz fstrim. Zde je návod, jak vytvořit úlohu barebones cron, která to provede automaticky.

    Nejprve spusťte následující příkaz pro otevření nano textového editoru s oprávněním uživatele root:

    sudo nano /etc/cron.daily/fstrim

    Do souboru vložte následující kód:

    #! / bin / sh

    fstrim /

    Soubor uložte stisknutím kombinace kláves Ctrl + O a potvrďte stisknutím klávesy Enter. Stisknutím klávesy Ctrl + X ukončete nano po uložení souboru.

    Nakonec spusťte následující příkaz, který provede skript spustitelný:

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

    Ubuntu nyní spustí fstrim podle plánu, stejně jako ostatní úlohy údržby systému.


    Všimněte si, že TRIM je podporován pouze na moderních souborových systémech, takže budete potřebovat něco jako ext4 a ne ext3 nebo ext2. Pokud nevíte, jaký souborový systém používáte, nemusíte se obávat - ve výchozím nastavení je zvolen ext4.

    Hodně z těchto rad se týká i jiných distribucí Linuxu. Zatímco Linux implementoval podporu TRIM v jádře již dávno, zdá se, že jeho podpora TRIM nebyla ve výchozím nastavení povolena pro typické uživatele v distribucích Linux.

    Image Credit: Mace Ojala na Flickr (oříznut)