Az Ubuntu az SSD-k alapértelmezés szerint nem TRIM, miért nem és hogyan engedélyezhetjük
Az Ubuntu alapértelmezés szerint engedélyezi az SSD-k TRIM-jét az Ubuntu 14.04-ben. Más szóval, az Ubuntu már nem használja a TRIM-et, így az SSD idővel lassul. De miért nem használja az Ubuntu már a TRIM-et?
Ez a hír valószínűleg meglepetés lesz sok ember számára, akik azt feltételezték, hogy az Ubuntu és más Linux disztribúciók már használják a TRIM-et. A TRIM megakadályozza, hogy az SSD-k idővel lelassuljanak, és az SSD karbantartásának szükséges része.
Miért fontos a TRIM
Fedeztük fel, hogy miért fontos a TRIM. Ha töröl egy fájlt egy régi, mágneses merevlemezen, a számítógép egyszerűen törli a fájlt. A fájl adatai a merevlemezen maradnak - ezért lehet törölni a törölt fájlokat. A számítógép végül felülírja a törölt fájlokat, amikor az új adatokkal felülírja szektorait.
A szilárdtest-meghajtók (SSD-k) másképp működnek. Amikor egy SSD-re ír egy fájlt, a számítógépnek először törölnie kell az adatokat azon szektorokban, amelyekre az adatokat írja. Nem tud csak „felülírni” a szektorokat egy műveletben - először ki kell törölnie őket, majd írnia kell az üres szektorokra.
Ez azt jelenti, hogy az SSD idővel lassul. Az SSD szektorainak írása először gyors lesz. Miután törölte néhány fájlt, és megpróbál újra írni, hosszabb időt vesz igénybe. Ez nagy része annak az oka, hogy a Google eredeti Nexus 7 az idő múlásával lelassult. A Google ezt a TRIM alkalmazásával az Android 4.3-ban rögzítette. (Android is használja a Linux kernelt.)
A TRIM engedélyezésével az operációs rendszer minden egyes alkalommal törli az SSD-t. A meghajtó ezután törölheti a fájl tartalmát tartalmazó szektorokat, így az ágazatokra való írás a jövőben gyors lesz.
Más szóval, ha nem használja a TRIM-et, az SSD idővel lassul. Ezért a modern operációs rendszerek, köztük a Windows 7+, a Mac OS X 10.6.8+ és az Android 4.3+ a TRIM-et használják. A TRIM-et Linuxban 2008 decemberében hajtották végre, de az Ubuntu alapértelmezésben nem használja.
Miért nem az Ubuntu TRIM alapértelmezés szerint?
Az Ubuntu valójában nem okozza a TRIM SSD-ket, mert a Linux rendszermag TRIM bevezetése lassú, és a normál használat gyenge teljesítményét eredményezi.
Windows 7 és 8 esetén a Windows TRIM parancsot küld minden alkalommal, amikor törli a fájlt, és megmondja a meghajtónak, hogy azonnal törölje a fájl bitjeit. A Linux ezt támogatja, ha a fájlrendszereket „dobja” opcióval szerelik fel. Azonban az Ubuntu - és más terjesztések - nem teszik ezt alapértelmezés szerint a teljesítmény miatt.
Az OpenSUSE wiki tartalmaz néhány részletes információt a fejlesztőtől, aki jobban ismeri a Linux kernelt, mint mi. Ez egy kicsit dátumozott, de valószínűleg még mindig igaz a teljesítmény tekintetében:
„A 11.2, 11.3 és 11.4 valós idejű vágás kernel végrehajtása nem optimalizált. A specifikáció. felhívja a vágási tartományokat támogató vágási segédeszközök támogatását, de a kernel esetében a 3.0-as berendezés csak a kernel egyetlen lemorzsolódási / vágási tartományra hivatkozik, és a jelenlegi 2011-es középső SSD-k teljesítménye romlik a teljesítménynövekedés helyett. Kevés oka van annak, hogy a rendszermagok valós idejű eldobási támogatását használják a 3.1 előtti rendszermaggal. Nem ismert, hogy a rendszermag eldobási funkciója optimalizálható legyen, hogy a jelenlegi generációs SSD-kkel hatékonyan működjön. ”[Forrás]
Más szóval, a Linux rendszermag lassan, nem optimalizált módon kezeli az ilyen valós idejű TRIM parancsokat. A TRIM használatának engedélyezése a Windows-hoz hasonlóan - azaz az „elvetés” opció használatával - azt eredményezi, hogy a rendszer valóban lassabb lesz, mintha a TRIM-et egyáltalán nem használnák. Az Ubuntu és más Linux-disztribúciók nem engedélyezik alapértelmezés szerint a „lemerülést” a fájlrendszerben, és nem is szabad.
Van egy másik út
Mivel a Linux kernel valós idejű „eldobása” TRIM működése nem működik jól, a legtöbb Linux disztribúció - beleértve az Ubuntu-t - nem használja automatikusan a TRIM-et. Android az Android 4.3-ig nem használta a TRIM-et.
De van egy másik módja a TRIM használatának. A FIMRIM funkciót ahelyett, hogy egyszerûen kiadná a TRIM parancsot minden egyes fájl törlésekor, a FITRIM funkció használható. Ez a fstrim parancson keresztül történik. Lényegében a fstrim parancs elemzi a fájlrendszert, és tájékoztatja a meghajtót, hogy mely blokkok már nem szükségesek, így a meghajtó elvetheti azokat. Ez a TRIM-et valós idejű műveletről ütemezett feladatvá teszi. Más szavakkal, a fstrim a TRIM-et cron munkaként végezheti el. Nincs ok arra, hogy ezt ne tegye. Nem fog semmit lelassítani; ez csak egy másik háztisztító feladat, amelyet a rendszernek ütemezéssel kell végrehajtania.
Valójában ez az a megközelítés, amelyet a Google az Android 4.3-mal vállalt. Az Android egyszerûen fstrim feladatot futtat a TRIM-hez a fájlrendszerhez, rögzítve a problémát, amely lelassította az összes eredeti Nexus 7s.
Az Ubuntu a TRIM-et automatikusan lehetővé teszi a rendszer rendszeres fstrim futtatásával. Ez remélhetőleg része lesz az Ubuntu 14.04-nek, így az Ubuntu-felhasználók nem lesznek kénytelenek kezelni az SSD-teljesítmény romlását, vagy nem futtatják a fstrim-et saját.
A TRIM engedélyezése
Nem javasoljuk, hogy a fájlrendszereket „dobja” művelettel telepítse, mivel ez valószínűleg lassabb teljesítményt eredményez normál használat esetén. A TRIM-et önmagában is használhatja, ha időnként fstrim parancsot futtat, vagy saját cronjobot hoz létre, amely ütemezéssel fut..
Az SSD UBuntu-on történő TRIM-hez egyszerűen nyissa meg a terminált, és futtassa a következő parancsot:
sudo fstrim -v /
A fenti parancsot időnként futtathatja az SSD-k teljesítménycsökkenésének megakadályozására. Milyen gyakran kell futtatnia, attól függ, hogy a fájlok milyen gyakran törlődnek az SSD-ről. Hiba jelenik meg, ha a parancsot olyan meghajtóval próbálja futtatni, amely nem támogatja a TRIM-et.
Ha rendszeresen szeretné futtatni a TRIM-et, egyszerűen létrehozhat egy cronjobt, amely az Ön számára fstrim parancsot futtatja. Így készíthetünk egy barebone cron munkát, amely ezt automatikusan elvégzi.
Először futtassa a következő parancsot a nano szövegszerkesztő gyökér engedélyekkel történő megnyitásához:
sudo nano /etc/cron.daily/fstrim
Írja be a következő kódot a fájlba:
#! / Bin / sh
fstrim /
Mentse el a fájlt a Ctrl + O megnyomásával, majd nyomja meg az Entert a megerősítéshez. A fájl mentése után nyomja meg a Ctrl + X billentyűt a nano bezárásához.
Végül futtassa a következő parancsot a parancsfájl futtatásához:
sudo chmod + x /etc/cron.daily/fstrim
Az Ubuntu most futtatja a fstrim-et egy ütemterv szerint, ahogyan más rendszer karbantartási feladatokat is végez.
Ne feledje, hogy a TRIM-et csak a modern fájlrendszerek támogatják, így valami olyan, mint az ext4, és nem ext3 vagy ext2. Ha nem tudja, hogy milyen fájlrendszert használ, ne aggódjon - alapértelmezés szerint az ext4 van kiválasztva.
Ezen tanácsok nagy része más Linux disztribúciókra is vonatkozik. Míg a Linux már régen végrehajtotta a TRIM támogatást a rendszermagban, úgy tűnik, hogy a TRIM támogatása alapértelmezés szerint nem engedélyezett a tipikus felhasználók számára a Linux disztribúciókban.
Képhitel: Mace Ojala a Flickr-en (levágva)