Czy w przypadku dysku SSD muszę zmienić zamianę, aby wydłużyć żywotność dysku SSD?

35

Zetknąłem się z tym artykułem, który zawiera następującą sugestię:

Zamiana i zamiana

Zachowałem swoją partycję wymiany na starym dysku twardym. Wymiana dysku SSD byłaby szybsza, ale skróciłaby również żywotność dysku SSD.

Mój system ma dużo pamięci, więc zmniejszyłem również wartość swapiness do 0, aby poinformować Ubuntu, aby zamieniał się tylko wtedy, gdy jest to absolutnie konieczne. Zrobiłem to, dodając wiersz vm.swappiness = 0 do /etc/sysctl.conf.

Czy to prawda, że ​​ustawienie swapiness na zero zwiększy żywotność mojego dysku SSD? Nie mogę znaleźć odniesień do tego gdzie indziej.

8128
źródło

Odpowiedzi:

30

Zmniejszenie swapiness do zera oznacza, że ​​system operacyjny zacznie używać SSD tylko do wymiany, gdy nie będzie już dostępnej wolnej pamięci RAM.

Teoretycznie może to wydłużyć żywotność dysku SSD, ponieważ dysk SSD będzie cierpieć mniej zapisów. Zależy to od tego, czy praktycznie wydłuża żywotność dysku SSD:

  • Linux rzadko używa wymiany (szczególnie w porównaniu z Windows), nawet przy wyższych wartościach wymiany, więc to ustawienie prawdopodobnie nie zmieni zachowania wymiany w systemach z dużą ilością pamięci RAM w porównaniu do użycia pamięci RAM. Jeśli brakuje Ci pamięci RAM, zamiana może się zdarzyć dość często przy domyślnej wartości 60, w takim przypadku zmniejszenie zamiany prawdopodobnie będzie miało znaczący wpływ na limit cyklu zapisu na dysku SSD.

  • Wytrzymałość zapisu SSD jest wciąż dość wysoka jak na zwykłe użytkowanie przez konsumentów, przynajmniej na dyski SSD oparte na MLC . Mówią, że obecne dyski SSD oparte na MLC mogą tolerować ok. 3000-5000 cykli zapisu, zanim się zużyją. Obliczanie z limitem 3000 oznacza, że ​​dysk SSD 128 GB z codziennym zapisem 10 GB będzie działał z powodzeniem przez ok. 38000 dni, co oznacza ok. 100 lat. Jeśli masz większy dysk SSD, który zużyje się znacznie później. Jest więc bardzo mało prawdopodobne, że dysk SSD umrze z powodu wyczerpania się komórek. (Oczywiście, jeśli używasz dysku SSD w środowisku korporacyjnym / serwerowym, liczba zapisów dziennie jest znacznie wyższa, ale w środowiskach korporacyjnych zwykle używane są dyski SSD oparte na SLC .)

  • Ten limit cyklu zapisu jest tak wysoki, że producenci dysków SSD (początkowo SAMSUNG) zaczęli produkować dyski SSD oparte na technologii TLC dla konsumentów, które mogą tolerować tylko ok. 1000 cykli zapisu, ale są tańsze. Firmy te twierdzą, że nawet limit cyklu zapisu na tych dyskach SSD będzie trwał dłużej niż przewidywany czas użytkowania produktu. (Jest mało prawdopodobne, że w 2024 roku będziemy nadal korzystać z naszych dysków SSD o pojemności 128 GB). Chociaż masz dysk SSD oparty na TLC i piszesz dość często na tym dysku, np. 50 GB / dzień, to obniżenie wartości zamiany prawdopodobnie będzie miało znaczący wpływ na długość życia dysku SSD.
  • Oto gigantyczny wątek, w którym entuzjaści testowali wytrzymałość dysku SSD, nieustannie pisząc do nich. Chociaż ich metoda testowa prawdopodobnie nie jest całkowicie poprawna, ich wyniki są imponujące i uspokajające.

Podsumowując: teoretycznie tak, zmniejszenie swapingu spowoduje dłuższą żywotność dysku SSD, w praktyce prawdopodobnie nie. Ale jeśli masz dysk SSD oparty na TLC i brakuje Ci pamięci RAM i na ogół często piszesz na dysku SSD, może to również mieć praktyczny efekt.

Mam dysk SSD oparty na MLC, 128 GB i używam głównie mojego systemu do pracy w biurze / do przeglądania i mam dużo pamięci RAM w porównaniu do mojej pamięci RAM, więc mój dysk SSD nie jest obciążony dużym zapisem (chociaż mój komputer pracuje 24/7). Ale ponieważ wcale nie potrzebuję wymiany i tak łatwo jest obniżyć poziom swapowania, który dla siebie ustawiłem na 0, kiedy instalowałem dyski SSD, bo dlaczego by tego nie zrobić? (Właściwie ustawiłem swappiness na 0 na wszystkich moich komputerach, nawet na komputerach, które mają tylko dyski twarde.)

Możesz sprawdzić, ile zapisu poniósł Twój dysk SSD w trakcie jego użytkowania smartctl, poszukaj linii z Total_LBAs_Written, to pokaże, ile sektorów 512b zostało zapisanych na SSD. (Tak, wiem, że dyski SSD mają fizycznie bloki 4K, a nie 512b, ale SMART nadal mówi: Sector Size: 512 bytes logical/physicala dzięki 512 blokom otrzymuję wyniki, które są porównywalne z tune2fs -lwyjściem zapisu Lifetime.) Tak więc pomnóż tę liczbę przez 512, a otrzymasz zapis w bajtach lub w skrócie:

sudo smartctl -a /dev/sda | grep Total_LBAs_Written | awk '{print $10*512/1024/1024/1024 " GiB"}'

wypisze w GiB dla / dev / sda. (Wystarczy zmienić nazwę urządzenia na nazwę swojego dysku SSD.) Mój dysk SSD o pojemności 128 GB ucierpiał ok. 800 GB zapisuje w nieco ponad rok, co oznacza, że ​​z 7000 wykorzystano tylko 7 cykli zapisu.

sokolnik
źródło
Dzięki systemowi plików można TRIM, aby zmniejszyć wzmocnienie zapisu. Czy istnieje odpowiednik partycji SWAP?
Bryce
Ta odpowiedź wydaje się zakładać, że „zamiana” wynosi od 0 do 100, przy czym zero oznacza brak zamiany (a 100 oznacza brak pamięci RAM?). Ale kolejna odpowiedź zawiera bardziej szczegółowe informacje na temat swappinesswartości, wskazując, że liczba wynosi od 0 do 200 i reprezentuje względną wagę w stosunku do różnych rodzajów zamiany.
palswim
7

Cała ta rozmowa o zużyciu dysków SSD jest „zgadywaniem”. Miałem te same uczucia, ale zacząłem je wykorzystywać komercyjnie. Mam jedną z najszybszych gromad wyroczni na wschodnim wybrzeżu. 3 lata temu utworzyliśmy dyski SSD dla całego naszego magazynu ORAZ tymczasowych systemów plików. Wykonujemy miliardy operacji zapisu na dyskach SSD / dzień. Po 3 latach wciąż nie jesteśmy blisko 10% wypalenia zawodowego. Jeśli mogę to zrobić komercyjnie, NIGDY nie zużyją się w sytuacji mieszkaniowej. Więc-- wdrożyłem rozwiązanie SSD specjalnie dla przestrzeni wymiany na mojej stacji roboczej z linuksem i BAM !!!

Więc twój przebieg może się różnić, ale SSD to droga, którą możesz pod każdym względem.

Dave

TekOps
źródło
Dyski SSD przeznaczone dla serwerów mogą przyjmować więcej zapisów niż (tańsze) przeznaczone dla konsumentów.
jarno
1
Rozumiem, ale mam dyski SSD konsumenckie zainstalowane na stacjach roboczych, które działają 24 godziny na dobę, 7 dni w tygodniu, wdrożonych w całym przedsiębiorstwie, i wykonujemy kopie zapasowe delt co kilka dni, ale nie mieliśmy ani jednej awarii od 2 lat. Pamiętaj, że MTBF dla fizycznego talerza obrotowego wynosi 3 lata, a z mojego doświadczenia w sprzedaży / serwisowaniu systemów od ponad 25 lat jest to całkiem dokładne. Dyski SSD przewyższają wszystkie inne opcje, komercyjne lub konsumenckie.
TekOps,
3

Tak . Musisz zmienić swapiness, aby wydłużyć żywotność dysku SSD.

Swappiness pozwala kontrolować, ile plików wymiany jest używanych. Wartości swapiness można zmienić od 0 do 100. Im wyższe wartości swapiness, tym bardziej jądro będzie próbowało użyć przestrzeni wymiany, niższe wartości swapiness oznaczają, że jądro zużyje mniej lub nie będzie przestrzeni wymiany w zależności od naszego ustawienia.

Domyślna wartość wymiany wynosi 60, jeśli masz dużo pamięci RAM, powinieneś unikać korzystania z przestrzeni wymiany, która zapisuje i odczytuje na dysk SSD, ale na dysk twardy. W przypadku systemu z 4 GB lub więcej pamięci RAM, spróbuj zmniejszyć użycie swapu, zmieniając ustawienia swapowania na między 10 a nawet 0, przy czym plik wymiany znajduje się na dysku twardym.

Uruchamianie przestrzeni wymiany wymaga bardzo dużej ilości operacji we / wy na dysku, co w rzeczywistości jest złe dla dysku SSD. Dysk SSD może obsłużyć tylko tyle zapisów, zanim ulegnie uszkodzeniu i będziesz zmuszony kupić inny dysk. Jeśli to w ogóle możliwe, przenieś przestrzeń wymiany na dodatkowy, wirujący dysk… z dala od dysku SSD.

Dysk SSD jest stosunkowo szybko zużywany przez operacje zapisu. Szczególnie najstarsze generacje dysków SSD były pod tym względem podatne na zagrożenia, ale w mniejszym stopniu nadal dotyczy to nowszych generacji.

Możesz albo utworzyć nową partycję na nowym dysku, albo po prostu utworzyć plik wymiany; utworzenie nowej partycji prawie zawsze spowoduje znacznie lepszą wydajność.

Jeśli nie masz alternatywnego dysku, do którego chcesz się przenieść, możesz zmienić ustawienie, które pozwoli na zamianę tylko wtedy, gdy fizyczna pamięć RAM jest w 100% pełna, co zmniejszy obciążenie pliku wymiany i pomoże dysku SSD. Wystarczy nacisnąć Ctrl+ Alt+ Tna klawiaturze, aby otworzyć Terminal. Kiedy się otworzy, uruchom poniższe polecenia:

echo 0 > /proc/sys/vm/swappiness

Zużycie SSD wiąże się z cyklami zapisu

Dysk SSD jest stosunkowo szybko zużywany przez operacje zapisu. Szczególnie najstarsze generacje dysków SSD były pod tym względem podatne na zagrożenia, ale w mniejszym stopniu nadal dotyczy to nowszych generacji.

Użyj przycinania

TRIM to zaleta, której używasz z dyskami SSD. Działa w oprogramowaniu i komunikuje się z kontrolerem SSD, informując go, które „bloki” nie są już potrzebne w systemie plików i można je bezpiecznie wyczyścić i nadpisać. To tak naprawdę nie spowoduje poprawy wydajności, ale raczej wydłuży żywotność dysku SSD.

Źródła: Linux SSD Ulepszenia i porady dotyczące optymalizacji dysku SSD

Mitch
źródło
Chciałbym wiedzieć, co jest nie tak? OP zapytał, czy musi zmienić swapiness, aby wydłużyć życie SSD, a odpowiedź brzmi: tak, musi zmienić swapiness.
Mitch
Rozumiem, że najnowsze wersje Ubuntu automatycznie używają TRIM dla dysków SSD.
Paddy Landau
Najnowsze Ubuntu używa TRIM tylko dla niektórych modeli dysków SSD. @PaddyLandau
Bryce
2

Czy to prawda, że ​​ustawienie swapiness na zero zwiększy żywotność mojego dysku SSD?

Spowodowałoby to, że Linux przenosi bloki pamięci rzadziej na partycję wymiany. Zapisywanie do wymiany zwykle używa cykli zapisu, jeśli twoja zamiana znajduje się na dysku SSD. Pamiętaj, że zamiana jest używana tylko wtedy, gdy jest potrzebna, a jeśli masz wystarczającą ilość pamięci RAM, możesz być lepszy bez niej (chyba że chcesz hibernacji, ale to inny problem).

Efekty tych działań mogą się różnić, ale robienie tego tylko w celu zapisania niektórych cykli zapisu na dysku SSD robi to źle. Nowoczesne dyski SSD (od około 2012 r.) Mają mnóstwo cykli zapisu, a wydajność może być zmniejszona dla aplikacji, gdy prawie zużywasz całą pamięć RAM. Podczas instalowania programów używasz więcej cykli zapisu niż terminowa zamiana. Pamiętaj, że zamiana jest używana tylko wtedy, gdy jest domyślnie potrzebna.

Jeśli martwisz się o cykle zapisu SSD używane do zamiany, możesz całkowicie usunąć / dezaktywować zamianę, jeśli masz wystarczającą ilość pamięci RAM i aktywować tylko tymczasową zamianę na dysku twardym zamiast mieszać się z zamianą. To byłaby najlepsza droga.

Braiam
źródło
0

Gorąco polecam zmianę ustawienia zamiany na niższą wartość, najlepiej 0, jeśli masz wystarczającą ilość pamięci / pamięci RAM dla systemu 4 GB pamięci RAM lub więcej. Chociaż swappiness w 10 przy wysokim systemie ram, ledwo widzę, że ubuntu umieszcza cokolwiek na partycji wymiany, ponieważ większość wszystko jest już na ram.

Zrobiłem trochę wyszukiwania Google i znalazłem tę stronę http://namhuy.net/1563/how-to-tweak-and-optimize-ssd-for-ubuntu-linux-mint.html

może pomóc ci ulepszyć i zoptymalizować SSD dla twojego systemu Ubuntu, aby działał wydajniej i utrzymywał ssd dłużej

Damon Phillips
źródło
0

Zmiana zamiany może nie mieć żadnego wpływu. Dużo się z tym bawiliśmy w systemach, w których brakuje pamięci RAM, i chcemy przesłać jak najwięcej na SSD, a to faktycznie miało niewielki wpływ, elementy pozostające w pamięci (co oznacza, że ​​są potrzebne). To może być kwestia sporna.

TekOps
źródło
0

Podobał mi się pomysł sprawdzenia danych smartctlwyjściowych, jednak mój kod jest nieco bardziej zwarty. Nigdy nie zrozumiałem, dlaczego ludzie po prostu nie wiedzą, że awkma to grepwbudowane możliwości.

sudo smartctl -a /dev/sdb | awk ' ($0 ~ /Total_LBAs_Written/) {print ($10*512)/(1024^3) " GiB"}'

Chociaż używam tego kodu:

sudo smartctl -a ${device} | awk ' ($0 ~ /Total_LBAs_Written/) { if (($10*512)/(1024^3) > 1000) { msg="TiB"; size=($10*512)/(1024^4); } else { msg="GiB"; size=($10*512)/(1024^3); }; printf "\nThis device has had %.2
f %s written to it.\n",size,msg; }'
blake private_last_name
źródło