Jakie kroki należy podjąć przed / podczas / po instalacji Ubuntu na dysku SSD, aby zoptymalizować wydajność i zapewnić maksymalną trwałość dysku?
źródło
Jakie kroki należy podjąć przed / podczas / po instalacji Ubuntu na dysku SSD, aby zoptymalizować wydajność i zapewnić maksymalną trwałość dysku?
Z powodzeniem zastosowałem kilka różnych technik, aby ulepszyć sposób, w jaki Ubuntu używa urządzenia pamięci masowej, czy to dysku SSD, czy dysku tradycyjnego.
W przypadku dysków SSD chcesz również zminimalizować liczbę zapisań dysku, ponieważ odczyty nie powinny zwiększać zużycia dysku.
1) Zarządzaj plikiem wymiany
Jeśli nie hibernujesz komputera i masz wystarczająco dużo pamięci RAM, aby uruchomić wszystkie aplikacje, to teoretycznie nie potrzebujesz partycji wymiany.
Jeśli masz połączenie SSD i dysków twardych, umieść partycję wymiany tylko na dyskach twardych.
2) Brak zapisów dla znaczników czasu odczytu (odpowiedni dla dysków SSD i dysków twardych)
Montowanie partycji za pomocą opcji noatime i nodiratime zatrzyma zapisywanie znaczników czasu podczas odczytywania plików i folderów. Te zapisy znaczników czasu nie są zazwyczaj wymagane, chyba że używasz lokalnego klienta serwera poczty, takiego jak mutt. Powodem, dla którego jest to ogólnie zły pomysł, jest to, że każdy odczyt spowoduje zapis podczas aktualizacji znaczników czasu. Skraca to żywotność dysku SSD.
Edytuj plik konfiguracyjny / etc / fstab (ostrożnie - zrób kopię zapasową, aby się upewnić, że uszkodzenie konfiguracji fstab może uniemożliwić działanie systemu):
cp /etc/fstab ~/fstab-backup
gksudo gedit /etc/fstab
Edytuj opcje montowania partycji, dodając tekst noatime i nodiratime do linii definiujących katalog główny (/) i inne partycje, jeśli je masz (/ home) - Uwaga: jeśli masz partycję / home, zacznij od zmiany tę partycję, jeśli martwisz się o coś
# / was on /dev/sda2 during installation
UUID=587e0dc5-2db1-4cd9-9792-a5459a7bcfd2 / ext4 noatime,nodiratime,errors=remount-ro 0 1
# /home was on /dev/sda3 during installation
UUID=2c919dc4-24de-474f-8da0-14c7e1240ab8 /home ext4 noatime,nodiratime,defaults 0 2
Przed wprowadzeniem zmian konieczne będzie ponowne uruchomienie komputera
3) Minimalizacja zapisów z systemu operacyjnego i aplikacji
Zakładając, że nie prowadzisz serwera produktu o kluczowym znaczeniu, większość ludzi nie przegląda logów, jeśli coś pójdzie nie tak (zwłaszcza, że poważne błędy są rzadkie dla większości użytkowników Ubuntu). Dlatego możesz skonfigurować Ubuntu, aby wszystkie dzienniki były zapisywane w pamięci RAM, a nie na dysku SSD.
Uwaga: dokonaj następujących zmian tylko po zainstalowaniu całego oprogramowania, którego będziesz używać (zwłaszcza takich rzeczy jak serwer WWW Apache), w przeciwnym razie możesz napotkać pewne problemy z brakującymi katalogami w / var / log
Aby zapoznać się z tłem tego podejścia, zobacz przedłużanie żywotności dysku flash na ubuntu-eee.com
Otwórz / etc / fstab za pomocą edytora (zakładając, że utworzyłeś kopię zapasową pliku / etc / fstab)
gksudo gedit /etc/fstab
Dodaj następujące wiersze na końcu pliku fstab i zapisz:
# Uncomment these after all server based applications installed - eg. apache
#tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0
#tmpfs /var/tmp tmpfs defaults,noatime,mode=1777 0 0
#tmpfs /var/log tmpfs defaults,noatime,mode=0755 0 0
#tmpfs /var/log/apt tmpfs defaults,noatime 0 0
# none /var/cache unionfs dirs=/tmp:/var/cache=ro 0 0
Przed wprowadzeniem zmian konieczne będzie ponowne uruchomienie komputera
Zobacz też:
tmpfs
wiersze są komentowane, więc dlaczego dodanie tych wierszy miałoby jakąkolwiek różnicę? Czy musimy to dodać bez komentarza?SSD Life
Generalnie nie zawracałbym sobie głowy - obawy o życie SSD są przesadzone. Możesz przeczytać ten szczegółowy artykuł o tym, dlaczego tak naprawdę nie powinieneś się martwić . Krótko mówiąc, obwody wewnątrz nowoczesnych dysków SSD zarządzają wyrównywaniem zużycia i wiedzą, jak to zrobić znacznie lepiej niż ty.
W artykule jest obliczenie żywotności dysku SSD, który odbiera zapisy z ciągłą szybkością 80 M / s. Życie trwa 51 lat . Jest to oparte na technologii z 2007 roku - żywotność dysków SSD będzie teraz dłuższa. I prawie na pewno nie piszesz na dysk SSD z prędkością 80 M / s 24 godziny na dobę.
Wydajność SSD
Jednak spadek wydajności w czasie może stanowić problem, a TRIM jest rozwiązaniem. Istnieją dwie opcje
Musisz sam włączyć automatyczne TRIM . (Zasadniczo dodajesz tę
discard
opcję do opcji montowania, pod warunkiem, że używasz ext4.) Znalazłem post na blogu informujący, że opcja odrzucania spowalnia twój system podczas usuwania plików .Czasami możesz to zrobić ręcznie (lub w zadaniu cron) za pomocą fstrim . Jeśli masz tylko jedną partycję, wszystko, co musisz zrobić, to:
Pamiętaj, że fstrim jest dostępny tylko w wersji 11.10 i nowszej. W przypadku starszych systemów potrzebny będzie
wiper.sh
skrypt. Znalazłem skrypt w/usr/share/doc/hdparm/contrib/wiper.sh.gz
moim systemie.Jeśli zastanawiasz się, problem rozwiązany przez TRIM, opisany przez Wikipedię , to:
źródło
Istnieje kilka punktów:
Wyrównanie:
Często zwraca się uwagę na prawidłowe wyrównanie partycji. Powinno to być równe rozmiarowi bloku SSD. Graj bezpiecznie i dostosuj swoje partycje do granic MiB. Pamiętaj, że nie możesz tego zrobić za pomocą narzędzia do partycji instalatora Ubuntu (który używa MB, a nie MiB), ale możesz uruchomić live CD, użyć Gparted (który używa MiB), a następnie kliknij Zainstaluj, aby użyć skonfigurowanych partycji.
Właściwy harmonogram:
Ważnym punktem jest harmonogram, który powinien być
noop
. Możesz ustawić ten harmonogram za pomocą parametru jądraelevator=noop
lub wpisuecho noop > /sys/block/sda/queue/scheduler
w twoim pliku rc.local.Flagi:
Poleciłbym
noatime
idiscard
Tmpfs
Umieszczenie tmp na ramdysku może wydłużyć czas życia ssd. Aby użyć tego, wstaw następujący wiersz w fstab:
none /tmp tmpfs defaults 0 0
Ogólnie, jeśli chcesz zagłębić się w ten temat, poleciłbym ten doskonały artykuł wiki.
źródło
Kurs szybkiego strojenia dysku SSD w systemie Ubuntu:
system plików
Arch wiki wspomina o kilku preferowanych opcjach systemu plików SSD - jedna z nich jest niestabilna, inne to ext *. Zakładam, że ext4 jest jednym z najlepszych typów.
Uwaga: W przypadku ext4 możesz użyć
discard
opcji mount.fstab
Kilka ważnych rzeczy tutaj:
swap
partycji. Obecnie jest potrzebny tylko do hibernacji, ponieważ nowoczesne maszyny mają dość dużą ilość pamięci RAM.noatime
idiscard
opcje. Informacje są tutaj .planista
Rozważ przejście z domyślnego programu planującego, którym w większości dystrybucji Linuksa jest cfq (całkowicie uczciwe kolejkowanie), na program noop lub terminarz ostateczny dla dysku SSD. Na przykład, korzystając z harmonogramu noop, po prostu przetwarza żądania w kolejności, w jakiej je otrzymano, bez uwzględnienia, gdzie dane fizycznie znajdują się na dysku. Uważa się, że ta opcja jest korzystna dla dysków SSD, ponieważ czasy wyszukiwania są identyczne dla wszystkich sektorów na dysku SSD.
Dodaj następujące do /etc/rc.local :
informacje
raz dwa
źródło
/tmp
w pamięci RAM bardzo łatwo jest wyjść z sytuacji braku pamięci , ponieważ wiele programów wykorzystuje/tmp
jako miejsce do przechowywania (na przykład Brasero do przechowywania obrazów DVD).tmpfs
domyślnie jest to 10% pamięci RAM. Rozmiar można jednak regulować za pomocąsize
opcji.4) włącz automatyczne TRIM
Jeśli twój dysk SSD obsługuje to, powinieneś również włączyć automatyczne TRIM (jak opisano tutaj )
źródło
Nie dodawałbym tej linii do twojego folderu fstab, var / tmp ma przetrwać ponowne uruchomienie, a to może powodować problemy.
Kiedy konfiguruję nowy system, zostawiam wszystkie komentarze do folderu tmp w ten sposób, jeśli coś się stanie, mogę sprawdzić logi i inne rzeczy. Potem, gdy mam główną konfigurację systemu, skasuję je, ale nigdy nie dodam powyższej linii, oto czego używam:
A jeśli mam problemy z moim systemem, komentuję je, aby móc sprawdzić wszystko nawet po ponownym uruchomieniu lub wymuszonym ponownym uruchomieniu po zablokowaniu.
Ponadto nie potrzebujesz nodiratime, opcja noatime sama zajmuje się obydwoma.
Jeśli chodzi o TRIM, jeśli twój hw / sw go obsługuje, jest to koniecznością, nie używam discard w fstab. Tworzę codzienny cron, ponieważ mój komputer jest zawsze włączony, wykonując następujące czynności:
Następnie dodaj to do pliku i zapisz (jeśli nie masz oddzielnej partycji / home na ssd lub masz inne części, które są na ssd, powinieneś dowiedzieć się, jak to zmienić:
Następnie uczyń plik wykonywalnym przez:
Ja także edytuję mój plik rc.local w ten sposób:
Dodaj to powyżej „exit 0” i poniżej ostatniego #:
Możesz kopiować i wklejać stąd, aby nie było błędów, dla laika wygląda to z grubsza, nie jest.
Przeczytałem również, że pozostawienie 10% niesformatowanego dysku SSD może pomóc przedłużyć żywotność, która dopiero się okaże. Nie przeczytałem zbyt wiele na ten temat, więc nie mogę poręczyć, jeśli ma to sens.
To najlepszy wszechstronny przewodnik, nie omijał Google przez cały dzień, a potem wymyślił przewodnik, powinieneś to sprawdzić TUTAJ
źródło
/sbin/fstrim --all || true
w skrypcie fstrim.TRIM pozwala systemowi operacyjnemu poinformować dysk SSD, które bloki danych nie są już uważane za używane i można je usunąć wewnętrznie. Przycinanie umożliwia dyskowi SSD obsługę narzutu wywozu śmieci, co w przeciwnym razie znacznie spowolniłoby przyszłe operacje zapisu do zaangażowanych bloków. 1
W Ubuntu 14.04 dodano nową funkcję do pakietu util-linux , która regularnie automatycznie przycina dyski SSD, ale tylko dyski SSD firmy Intel i Samsung mają domyślnie włączone TRIM, ponieważ niektóre tanie dyski SSD mogą nawet się sflaczać podczas uruchamiania TRIM. 2 Zawartość
/etc/cron.weekly/fstrim
Ubuntu 14.04:1 https://en.wikipedia.org/wiki/Trim_%28computing%29
2 Jak włączyć Trim?
źródło
Oczywiste jest, że
/var/tmp
nie powinno być w tmpfs, ponieważ z definicji jego treść musi być zachowana poza ponownym uruchomieniem:źródło
Ok, „krótka historia”:
Sformatuj jak
ext4
podczas instalacji i utwórz małą wymianę ~ 1 GB. Po instalacji edytuj fstab za pomocąsudo gedit /etc/fstab
i dodaj następujący wierszSpowoduje to utworzenie ramdrive dla plików tymczasowych, co obniży starzenie. Dodaj także
noatime,nodiratime,discard
do linii ext4 po domyślnych. Spowoduje to również zmniejszenie zużycia i włączenie funkcji TRIM. Zapisz i uruchom ponownie.źródło
Istnieje kilka dobrych informacji Jak dostosować i zoptymalizować SSD dla Ubuntu, Linux Mint z http://namhuy.net/1563/how-to-tweak-and-optimize-ssd-for-ubuntu-linux-mint.html ty może być zainteresowanym
Użyj wstępnego ładowania
Aby zainstalować wstępne ładowanie w dystrybucji Ubuntu, Linux Mint lub Debian
Wyłącz swap
Aby zmienić ustawienie zamiany:
I dodaj tę linię do pliku sysctl.conf.
źródło
Wymagany jest UPS. W
/etc/sysctl.conf
plikuZnajdź demona pliku konfiguracyjnego, zwykle
/etc/syslog.conf
или,/etc/rsyslog.d/
a wszystkie ścieżki formularza/var/log/
zmienią się, wpisując przed znakami minus („-”).Po
mail.err -/var/log/mail.err
użyj FS
btrfs
i skorzystaj z-o ssd
opcjiWięcej http://vasilisc.com/speedup_ubuntu_eng#speedup_fs
źródło
Jak dostosować i zoptymalizować dysk SSD dla systemu Ubuntu, Linux Mint
Włącz TRIM
TRIM (polecenie przycinania informuje system operacyjny, które bloki SSD nie są używane i można je usunąć)
Najpierw wykonaj kopię zapasową fstab na wypadek, gdyby coś się stało.
Edytuj plik fstab
Dodaj discard do dysków SSD lub partycji po ext4
noatime i nodiratime to opcje montowania w systemie Linux dla systemu plików Linux. Noatime wyłącza aktualizacje Atime w systemie plików, a nodiratime wyłącza aktualizacje Atime w systemie katalogowym. Dodanie noatime i nodiratime znacznie zmniejszy obciążenie ssd oznacza wzrost wydajności.
Edytuj plik fstab
Dodaj noatime, nodiratime do dysków SSD lub partycji po ext4
źródło
Sugeruję, aby umieszczać tylko te rzeczy, które są odczytywane w czasie rozruchu na dysku SSD, wszelkie aplikacje, które wymagają dużo czasu do załadowania. Dane i dzienniki i inne niekrytyczne rzeczy, które znajdowałbym na normalnym dysku twardym. Możesz również skonfigurować swoje Ubuntu, aby ładowało się tylko duże initramfs z SSD w czasie uruchamiania i nie zapisują zmian w ssd. Ma to tę zaletę, że zmiany w tej partycji nie są trwałe, co jest jak ochrona twojego systemu rozruchowego. Dlatego oczywiście potrzebowałbyś dużo więcej pamięci RAM.
Chciałbym np. Umieścić partycje /, / etc, / usr, / boot, / lib 32/64 na SSD, podczas gdy coś takiego
/ opt, / bin, / sbin, / root, / home, a nawet zamiana (zwiększenie pamięci RAM !!!) na HDD
Wikipedia mówi:
W przypadku kopii zapasowych istnieje wiele sposobów, z których najprostszym jest (r) synchronizacja plus zadanie cron.
źródło
/root
,/home
i wymiany należy umieścić na SSD dla prędkości, bo to przeważnie tylko do odczytu. Aby zwiększyć szybkość, włóż/var
także dysk SSD./
Partycji dla Kubuntu sid zajmuje 4.5GB na moim SSD. 20 GB wystarcza na/
minus/home
. Wysiłki na rzecz ulepszenia układu systemu plików, rozłożenia go na kilka partycji nie są tego warte.