Убунту не ТРИМ ССД-а по дефаулту Зашто не и како то омогућити сами
Убунту жели омогућити ТРИМ за ССД-ове по дефаулту у Убунту 14.04. Другим ријечима, Убунту већ не користи ТРИМ, тако да се ваш ССД с временом успорава. Али зашто Убунту већ не користи ТРИМ?
Ова вест ће вероватно бити изненађење за многе људе, који су претпоставили да Убунту и друге Линук дистрибуције већ користе ТРИМ. ТРИМ спречава успоравање ССД-ова током времена и неопходан је део одржавања ССД-а.
Зашто је ТРИМ важан
Размотрили смо зашто је ТРИМ важан раније. Када избришете датотеку на старом магнетном чврстом диску, рачунар једноставно означава ту датотеку као избрисану. Подаци датотеке се налазе на чврстом диску - зато се избрисане датотеке могу вратити. Рачунар ће на крају пребрисати избрисане датотеке када препише своје секторе новим подацима.
Солид-стате дискови (ССД) раде другачије. Кад год пишете датотеку на ССД, рачунар прво мора да избрише све податке у секторима у које пише податке. Он не може само да "препише" секторе у једној операцији - прво их мора избрисати, а затим записати у празне секторе.
То значи да ће ССД временом успорити. Писање у секторима ССД-а ће бити брзо први пут. Након што избришете неке датотеке и покушате поново да их пишете, то ће потрајати дуже. Ово је велики део разлога што је Гоогле оригинални Некус 7 толико успорио током времена. Гоогле је ово поправио имплементирањем ТРИМ-а у Андроид 4.3. (Андроид такође користи Линук кернел.)
Када је ТРИМ омогућен, оперативни систем јавља ССД-у сваки пут када брише датотеку. Погон тада може избрисати секторе који садрже садржај датотеке, тако да ће писање у секторе бити брзо у будућности.
Другим речима, ако не користите ТРИМ, ваш ССД ће се временом успорити. Зато модерни оперативни системи, укључујући Виндовс 7+, Мац ОС Кс 10.6.8+ и Андроид 4.3+, користе ТРИМ. ТРИМ је имплементиран у Линуку још у децембру 2008. године, али га Убунту не користи по дефаулту.
Зашто не Убунту ТРИМ по дефаулту?
Прави разлог зашто Убунту не ТРИМ ССД-ове по дефаулту је зато што је имплементација ТРИМ-а у Линук кернелу спора и резултира лошим перформансама у нормалној употреби.
У Виндовсима 7 и 8, Виндовс шаље ТРИМ команду сваки пут када избрише датотеку, говорећи диск јединици да одмах избрише битове датотеке. Линук то подржава када се фајл системи монтирају са опцијом “дисцард”. Међутим, Убунту - и друге дистрибуције - не раде ово по подразумеваној вредности због перформанси.
ОпенСУСЕ-ова вики садржи неке детаљне информације од програмера који су боље упознати са Линук кернелом него што смо ми. Мало је датирано, али је вјероватно још увијек истинито када је ријеч о перформансама:
“Имплементација кернела у реалном времену у 11.2, 11.3 и 11.4 није оптимизована. Специјал. позива на трим како би подржао векторизовану листу опсега опреме, али од трим кернела 3.0 само кернел се позива са једним диском / трим опсегом и са тренутним ССД-овима из средине 2011. доказано је да узрокује деградацију перформанси уместо повећања перформанси. Постоји неколико разлога да се језгре користе у реалном времену с кернелима пре 3.1. Није познато када ће функционалност одбацивања кернела бити оптимизирана за рад са тренутним генерацијама ССД-а. ”[Извор]
Другим речима, кернел Линука управља таквим ТРИМ командама у реалном времену на спор, неоптимизован начин. Омогућавање ТРИМ-а слично начину на који Виндовс ради - то јест, употребом опције "одбацивање" - резултира тиме да систем постаје спорији него ако се ТРИМ уопште не користи. Убунту и друге дистрибуције Линука не дозвољавају "одбацивање" по подразумеваном подешавању за ваше системе датотека, а ни ви не бисте требали.
Постоји још један начин
Будући да ТРИМ операција у реалном времену не ради добро, већина Линук дистрибуција - укључујући Убунту - не користи ТРИМ аутоматски. Андроид такође није користио ТРИМ до Андроида 4.3.
Али постоји још један начин да се користи ТРИМ. Уместо једноставног издавања команде ТРИМ сваки пут када се датотека избрише, може се користити функција ФИТРИМ. То се дешава преко фстрим команде. У суштини, наредба фстрим анализира систем датотека и информише диск јединицу који блокови више нису потребни, тако да их диск јединица може одбацити. Ово претвара ТРИМ из операције у реалном времену у планирани задатак. Другим ријечима, фстрим може обављати ТРИМ као црон посао. Нема разлога да то не урадимо. Неће ништа успорити; то је само још један кућни задатак који систем мора да обавља по распореду.
У ствари, ово је приступ који је Гоогле узео са Андроидом 4.3. Андроид једноставно покреће фстрим задатак повремено да ТРИМ систем датотека, решавајући проблем који је успорио све оне оригиналне Некус 7с.
Убунту такође тражи да аутоматски омогући ТРИМ тако што систем редовно покреће фстрим. Ово ће, надамо се, бити део Убунту 14.04 тако да корисници Убунтуа неће бити приморани да се суочавају са пропадањем перформанси ССД-а или да сами покрећу фстрим..
Како омогућити ТРИМ
Ми не препоручујемо да инсталирате системе датотека са операцијом "одбацивање", јер ће то вероватно резултирати споријим перформансама у нормалној употреби. Међутим, сами можете да користите ТРИМ тако што ћете повремено покренути фстрим команду или креирати сопствени цроњоб који покреће фстрим на распореду.
Да ТРИМ свој ССД на Убунту, једноставно отворите терминал и покрените следећу команду:
судо фстрим -в /
Горњу команду можете покренути повремено да бисте спречили деградацију перформанси на ССД-овима. Колико често морате да покренете то зависи од тога колико често се датотеке бришу са ССД-а. Видећете грешку ако покушате да покренете команду са диск јединицом која не подржава ТРИМ.
Ако желите да ТРИМ редовно покрећете, можете једноставно да креирате цроњоб који покреће фстрим команду за вас. Ево како направити баребонес црон посао који ће то урадити аутоматски.
Прво, покрените следећу команду да бисте отворили нано текст едитор са роот дозволама:
судо нано /етц/црон.даили/фстрим
Унесите следећи код у датотеку:
#! / бин / сх
фстрим /
Сачувајте датотеку притиском на Цтрл + О и притисните Ентер да бисте потврдили. Притисните Цтрл + Кс да бисте затворили нано након чувања датотеке.
Последње, покрените следећу команду да би извршили скрипту:
судо цхмод + к /етц/црон.даили/фстрим
Убунту ће сада покренути фстрим по распореду, баш као и друге задатке одржавања система.
Имајте на уму да је ТРИМ подржан само на модерним системима датотека, тако да ће вам требати нешто попут ект4, а не ект3 или ект2. Ако не знате који систем датотека користите, не брините - ект4 је подразумевано изабран.
Велики део ових савета важи и за друге Линук дистрибуције. Док је Линук већ одавно имплементирао ТРИМ подршку у кернелу, изгледа да његова ТРИМ подршка никада није била омогућена по дефаулту за типичне кориснике у Линук дистрибуцијама.
Кредит за слике: Маце Ојала на Флицкр-у (обрезано)