Az Ubuntu nem TRIM SSD-t alapértelmezés szerint: Miért nem és hogyan engedélyezheti önmagát

Tartalomjegyzék:

Az Ubuntu nem TRIM SSD-t alapértelmezés szerint: Miért nem és hogyan engedélyezheti önmagát
Az Ubuntu nem TRIM SSD-t alapértelmezés szerint: Miért nem és hogyan engedélyezheti önmagát

Videó: Az Ubuntu nem TRIM SSD-t alapértelmezés szerint: Miért nem és hogyan engedélyezheti önmagát

Videó: Az Ubuntu nem TRIM SSD-t alapértelmezés szerint: Miért nem és hogyan engedélyezheti önmagát
Videó: GoPro Hero 8 Black + Необходимые Аксессуары / Обновление GoPro / Подключение к Iphone - YouTube 2024, Április
Anonim
Az Ubuntu alapértelmezés szerint engedélyezi a TRIM for SSD-ket az Ubuntu 14.04-ben. Más szóval az Ubuntu még nem használja a TRIM-et, ezért az SSD lassul az idő múlásával. De miért nem az Ubuntu már használja a TRIM-et?
Az Ubuntu alapértelmezés szerint engedélyezi a TRIM for SSD-ket az Ubuntu 14.04-ben. Más szóval az Ubuntu még nem használja a TRIM-et, ezért az SSD lassul az idő múlásával. De miért nem az Ubuntu már használja a TRIM-et?

Ez a hír valószínűleg sokak számára meglepő, hiszen azt feltételezik, 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 lassuljanak az idő múlásával, és az SSD-karbantartás szükséges része.

Miért fontos a TRIM?

Megvizsgáltuk, miért fontos a TRIM. Ha töröl egy fájlt egy régi, mágneses merevlemezen, a számítógép csak törölve jelöli meg a fájlt. A fájl adatai megakadnak a merevlemezen - 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 szektorukat.

A szilárdtestalapú meghajtók (SSD-k) másképpen működnek. Amikor fájlokat ír le egy SSD-re, a számítógépnek először törölnie kell azokat az adatokat, amelyekben az adatokat írja. Ez nem csak "felülírja" az ágazatokat egy műveletben - először tisztázni kell őket, majd írni az üres szektoroknak.

Ez azt jelenti, hogy az SSD lelassul az idő múlásával. Az SSD ágazatainak írása az első alkalommal gyors lesz. Miután törölt néhány fájlt, és újból megpróbálta írni, ez hosszabb ideig tart. Ez nagy része annak a magyarázó ténynek, hogy a Google eredeti Nexus 7 lassan lassult le idővel. A Google ezt javította a TRIM Android 4.3 verziójának végrehajtásával. (Az Android a Linux rendszermagot is használja.)

A TRIM engedélyezve az operációs rendszer minden alkalommal törli az SSD-t, amikor törli a fájlt. A meghajtó ezután törölheti a fájl tartalmát tartalmazó szektorokat, így az ágazatokra való írás gyors lesz a jövőben.

Más szóval, ha nem használja a TRIM-et, akkor az SSD lassul az idő múlásával. 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+ is használják a TRIM-et. A TRIM 2008 decemberében valósult meg Linuxban, de az Ubuntu alapértelmezés szerint nem használja.

Miért nem az Ubuntu TRIM alapértelmezés szerint?

Az az igazi ok, hogy az Ubuntu alapértelmezésben nem TRIM SSD-k, mert a Linux kernel TRIM implementációja lassú, és normál használat esetén gyenge teljesítményt eredményez.

Windows 7 és 8 esetén a Windows minden alkalommal elküldi a TRIM parancsot, amikor törli a fájlt, és azt mondja a meghajtónak, hogy azonnal törölje a fájl bitjeit. A Linux ezt támogatja, ha a fájlrendszereket a "discard" opcióval szerelik fel. Azonban az Ubuntu - és más terjesztések - alapértelmezésben nem teszik ezt teljesítményért.

Az OpenSUSE wiki tartalmaz néhány részletes információt egy olyan fejlesztőtől, aki jobban ismeri a Linux kernelt, mint mi. Ez egy kicsit keltezött, de valószínűleg még mindig igaz, amikor a teljesítményről van szó:

“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]

Más szóval, a Linux kernel ilyen valós idejű TRIM parancsokat lassú, nem optimalizált módon kezel. Ha a TRIM hasonlóan működik a Windows által - azaz a "visszadobás" opció használatával - akkor a rendszer valójában lassabb lesz, mintha a TRIM-t egyáltalán nem használták volna. Az Ubuntu és más Linux disztribúciók alapértelmezés szerint nem engedélyezik a "visszadobást" a fájlrendszerekben, és nem is szabad.

Image
Image

Van egy másik út

Mivel a Linux kernel valós idejű "eldobható" TRIM művelete nem működik megfelelően, a legtöbb Linux-terjesztés - beleértve az Ubuntut is - nem használja automatikusan a TRIM-et. Az Android szintén nem használta a TRIM-et az Android 4.3-ig.

De van még egy mód a TRIM használatára. Ahelyett, hogy egyszerűen kiadná a TRIM parancsot minden egyes fájl törlésekor, a FITRIM funkció használható. Ez a fstrim parancs segítségével történik. Lényegében a fstrim parancs elemzi a fájlrendszert, és tájékoztatja a meghajtót, hogy mely blokkokra nincs szükség, így a meghajtó eldobhatja őket. Ezzel a TRIM valós idejű műveletből egy ütemezett feladatra vált. Más szóval, a fstrim képes elvégezni a TRIM-et cron munkaként. Semmi okunk nem erre. Nem fog lassítani semmit; ez csak egy újabb takarítási feladat, amelyet a rendszernek menetrend szerint kell végrehajtania.

Valójában ez az a megközelítés, amelyet a Google az Android 4.3-mal vitt. Az Android egyszerűen fstrim feladatot futtat TRIM-hez a fájlrendszerhez, rögzítve azt a problémát, amely lelassította az összes eredeti Nexus 7-et.

Az Ubuntu automatikusan megvizsgálja a TRIM automatikus engedélyezését, mivel a rendszer rendszeresen futtat. Ez remélhetőleg része lesz az Ubuntu 14.04-nek, így az Ubuntu felhasználók nem kényszerülnek az SSD teljesítményének romlására vagy a fstrim futtatására.

A TRIM engedélyezése

Nem javasoljuk, hogy a fájlrendszereket a "visszadobás" művelettel szerelje fel, mivel ez valószínűleg lassabb teljesítményt eredményez normál használat során. Használhatod azonban a TRIM-et magaddal, ha alkalmanként fstrim parancsot futtatsz, vagy létrehozod a saját cronjob-t, amely ütemezést futtat.

Az Ubuntu SSD-jének TRIM-hez történő mentéséhez egyszerűen nyisson meg egy terminált, és futtassa a következő parancsot:

sudo fstrim -v /

A fenti parancsot alkalmanként futtathatja annak érdekében, hogy megakadályozza a teljesítmény romlását az SSD-ken. Milyen gyakran kell futtatni, attól függ, hogy milyen gyakran törli a fájlokat az SSD-ből. Hiba jelenik meg, ha megpróbálja futtatni a parancsot olyan meghajtón, amely nem támogatja a TRIM-et.
A fenti parancsot alkalmanként futtathatja annak érdekében, hogy megakadályozza a teljesítmény romlását az SSD-ken. Milyen gyakran kell futtatni, attól függ, hogy milyen gyakran törli a fájlokat az SSD-ből. Hiba jelenik meg, ha megpróbálja futtatni a parancsot olyan meghajtón, amely nem támogatja a TRIM-et.

Ha rendszeresen szeretné futtatni a TRIM-et, egyszerűen hozhat létre egy cronjobot, amely a fstrim parancsot futtatja.Íme, hogyan készíts egy barebones cron feladatot, amely ezt automatikusan elvégzi.

Először futtasd a következő parancsot a nano szövegszerkesztő root jogosultságokkal 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 billentyű megnyomásával, majd nyomja meg az Enter gombot a megerősítéshez. Nyomja meg a Ctrl + X billentyűt a nano bezárásához a fájl mentése után.
Mentse el a fájlt a Ctrl + O billentyű megnyomásával, majd nyomja meg az Enter gombot a megerősítéshez. Nyomja meg a Ctrl + X billentyűt a nano bezárásához a fájl mentése után.

Végül futtassa a következő parancsot a parancsfájl végrehajthatóvá tételéhez:

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

Az Ubuntu egy ütemezésben futtatni fogja a fstrim-ot, csakúgy, mint más rendszerfelügyeleti feladatokat.
Az Ubuntu egy ütemezésben futtatni fogja a fstrim-ot, csakúgy, mint más rendszerfelügyeleti feladatokat.

Ne feledje, hogy a TRIM-t csak a modern fájlrendszereken támogatják, ezért szüksége lesz valami ext4-re, és nem ext3-ra vagy ext2-re. Ha nem tudja, melyik fájlrendszer használja, ne aggódjon - az ext4 alapértelmezés szerint van kiválasztva.

A tanácsadás nagy része más Linux disztribúciókra is vonatkozik. Míg a Linux régóta végrehajtotta a TRIM támogatását a kernelben, a TRIM támogatása alapértelmezés szerint soha nem engedélyezett a Linux disztribúciók tipikus felhasználói számára.

Ajánlott: