Ubuntu chce domyślnie włączyć TRIM dla dysków SSD w Ubuntu 14.04. Innymi słowy, Ubuntu nie używa jeszcze TRIM, więc Twój dysk SSD zwalnia z czasem. Ale dlaczego Ubuntu nie używa już TRIM?
Ta wiadomość prawdopodobnie będzie zaskoczeniem dla wielu osób, które zakładały, że Ubuntu i inne dystrybucje Linuksa już używają TRIM. TRIM zapobiega spowolnieniu dysków SSD w czasie i jest niezbędnym elementem konserwacji dysków SSD.
Dlaczego TRIM jest ważny
Omówiliśmy dlaczego TRIM jest ważny przed. Gdy usuwasz plik ze starego, magnetycznego dysku twardego, komputer po prostu oznacza ten plik jako usunięty. Dane pliku pozostają na dysku twardym - to jest dlaczego usunięte pliki można odzyskać . Komputer ostatecznie nadpisze usunięte pliki, gdy nadpisze ich sektory nowymi danymi.
Dyski półprzewodnikowe (SSD) działają inaczej . Za każdym razem, gdy zapisujesz plik na dysku SSD, komputer musi najpierw usunąć wszystkie dane z sektorów, w których zapisuje dane. Nie może po prostu „nadpisać” sektorów w jednej operacji - musi najpierw je wyczyścić, a następnie zapisać w pustych sektorach.
Oznacza to, że dysk SSD zwalnia z czasem. Zapisywanie w sektorach dysku SSD będzie szybkie za pierwszym razem. Po usunięciu niektórych plików i ponownej próbie zapisu zajmie to więcej czasu. To w dużej mierze powód, dla którego oryginalny Nexus 7 firmy Google z czasem tak bardzo spowolnił. Google naprawiło to, wdrażając TRIM w systemie Android 4.3. (Android używa również jądra Linux).
Po włączeniu TRIM system operacyjny informuje dysk SSD za każdym razem, gdy usuwa plik. Napęd może wtedy wymazać sektory zawierające zawartość pliku, więc zapisywanie do sektorów będzie szybkie w przyszłości.
Innymi słowy, jeśli nie używasz TRIM, dysk SSD zwalnia z czasem. Dlatego nowoczesne systemy operacyjne, w tym Windows 7+, Mac OS X 10.6.8+ i Android 4.3+, używają TRIM. TRIM został zaimplementowany w Linuksie w grudniu 2008 roku, ale Ubuntu nie używa go domyślnie.
ZWIĄZANE Z: Co to jest dysk półprzewodnikowy (SSD) i czy go potrzebuję?
Dlaczego domyślnie Ubuntu TRIM nie jest dostępny?
Prawdziwym powodem, dla którego Ubuntu domyślnie nie obsługuje TRIM SSD, jest to, że implementacja TRIM w jądrze Linuksa jest powolna i powoduje słabą wydajność podczas normalnego użytkowania.
W systemach Windows 7 i 8 system Windows wysyła polecenie TRIM za każdym razem, gdy usuwa plik, informując napęd, aby natychmiast usunął bity pliku. Linux obsługuje to, gdy systemy plików są montowane z opcją „discard”. Jednak Ubuntu - i inne dystrybucje - nie robią tego domyślnie ze względu na wydajność.
Wiki OpenSUSE zawiera szczegółowe informacje od programisty, który lepiej niż my zna jądro Linuksa. Jest trochę przestarzały, ale prawdopodobnie nadal jest prawdziwy, jeśli chodzi o wydajność:
„Implementacja w jądrze przycinania w czasie rzeczywistym w wersjach 11.2, 11.3 i 11.4 nie jest zoptymalizowana. Spec. Wzywa do trymowania obsługującego zwektoryzowaną listę zakresów przycinania, ale od wersji jądra 3.0 przycinanie jest wywoływane tylko przez jądro z pojedynczym zakresem odrzucania / przycinania, a przy obecnych dyskach SSD z połowy 2011 r. okazało się, że powoduje to spadek wydajności zamiast wzrostu wydajności. Jest kilka powodów, dla których jądro powinno używać odrzucenia obsługi jądra w czasie rzeczywistym z jądrem starszym niż 3.1. Nie wiadomo, kiedy funkcja odrzucania jądra zostanie zoptymalizowana pod kątem korzystnej pracy z dyskami SSD obecnej generacji ”. [ Źródło ]
Innymi słowy, jądro Linuksa obsługuje takie polecenia TRIM w czasie rzeczywistym w powolny, niezoptymalizowany sposób. Włączenie TRIM podobnie jak w Windows - to znaczy użycie opcji „discard” - powoduje, że system faktycznie staje się wolniejszy, niż gdyby TRIM nie był w ogóle używany. Ubuntu i inne dystrybucje Linuksa nie włączają domyślnie „odrzucania” dla systemów plików i nie należy tego robić.
Jest inny sposób
Ponieważ operacja TRIM „discard” jądra systemu Linux w czasie rzeczywistym nie działa dobrze, większość dystrybucji Linuksa - w tym Ubuntu - nie używa TRIM automatycznie. Android również nie używał TRIM aż do Androida 4.3.
Ale jest inny sposób korzystania z TRIM. Zamiast po prostu wydawać polecenie TRIM za każdym razem, gdy plik jest usuwany, można użyć funkcji FITRIM. Dzieje się to za pomocą polecenia fstrim. Zasadniczo polecenie fstrim analizuje system plików i informuje dysk, które bloki nie są już potrzebne, aby dysk mógł je odrzucić. To zmienia TRIM z operacji w czasie rzeczywistym w zaplanowane zadanie. Innymi słowy, fstrim może wykonywać TRIM jako zadanie cron. Nie ma powodu, żeby tego nie robić. To niczego nie spowolni; to tylko kolejne zadanie porządkowe, które system musi wykonywać zgodnie z harmonogramem.
ZWIĄZANE Z: Dlaczego mój Nexus 7 działa tak wolno? 8 sposobów na ponowne przyspieszenie
W rzeczywistości jest to podejście, które firma Google zastosowała w przypadku Androida 4.3. Android po prostu od czasu do czasu uruchamia zadanie fstrim, aby TRIMOWAĆ system plików, naprawiając problem, który spowolnił wszystkie oryginalne Nexusy 7 .
Ubuntu rozważa również automatyczne włączenie TRIM poprzez regularne uruchamianie systemu Fstrim. Miejmy nadzieję, że będzie to część Ubuntu 14.04, więc użytkownicy Ubuntu nie będą zmuszeni radzić sobie z degradacją wydajności SSD ani samodzielnie uruchamiać fstrim.
Jak włączyć TRIM
Nie zalecamy montowania systemów plików za pomocą operacji „discard”, ponieważ prawdopodobnie spowoduje to spowolnienie działania przy normalnym użytkowaniu. Możesz jednak użyć TRIM samodzielnie, od czasu do czasu uruchamiając polecenie fstrim lub tworząc własne cronjob, które uruchamia fstrim zgodnie z harmonogramem.
Aby WYCINOWAĆ dysk SSD w systemie Ubuntu, po prostu otwórz terminal i uruchom następujące polecenie:
sudo fstream -v /
Powyższe polecenie można czasami uruchamiać, aby zapobiec pogorszeniu wydajności dysków SSD. To, jak często musisz go uruchamiać, zależy od tego, jak często pliki są usuwane z dysku SSD. Jeśli spróbujesz uruchomić polecenie na dysku, który nie obsługuje TRIM, pojawi się błąd.
Jeśli chcesz regularnie uruchamiać TRIM, możesz po prostu utworzyć cronjob, który uruchamia polecenie fstrim. Oto jak wykonać zadanie Cron w wersji barebones, które zrobi to automatycznie.
Najpierw uruchom następujące polecenie, aby otworzyć edytor tekstu nano z uprawnieniami roota:
Sudonna / Etc / c Ron. Dzienna / pierwsza obręcz
Wpisz następujący kod do pliku:
#! / bin / sh
fstrim /
Zapisz plik, naciskając Ctrl + O i naciśnij Enter, aby potwierdzić. Naciśnij Ctrl + X, aby zamknąć nano po zapisaniu pliku.
Na koniec uruchom następujące polecenie, aby skrypt był wykonywalny:
sudo chmod + x /etc/cron.daily/fstrim
Ubuntu będzie teraz uruchamiał fstrim zgodnie z harmonogramem, tak jak wykonuje inne zadania związane z konserwacją systemu.
Pamiętaj, że TRIM jest obsługiwany tylko w nowoczesnych systemach plików, więc będziesz potrzebować czegoś takiego jak ext4, a nie ext3 lub ext2. Jeśli nie wiesz, jakiego systemu plików używasz, nie martw się - domyślnie wybrany jest ext4.
Wiele z tych porad dotyczy również innych dystrybucji Linuksa. Podczas gdy Linux już dawno zaimplementował obsługę TRIM w jądrze, wydaje się, że jego obsługa TRIM nigdy nie była domyślnie włączona dla typowych użytkowników w dystrybucjach Linuksa.
Źródło zdjęcia: Mace Ojala na Flickr (przycięte)