Czy należy wyłączyć plik strony za pomocą SSD?


26

Czytałem to pytanie i zawiera ono wiele świetnych informacji.

Ale zakładając, że masz więcej niż wystarczającą ilość pamięci RAM, uważam, że plik strony powinien być wyłączony na dysku SSD, aby przedłużyć żywotność. Wiem, że stracisz zrzut pamięci po awarii, ale niewiele osób potrzebuje takich informacji.

Z mojego zrozumienia, bez pliku strony, gdy osiągniesz limit pamięci RAM, może to spowodować wyrzucenie dysku na dysk. Ale w przypadku dysków SSD nie ma koncepcji thrashingu, odczyty są szybkie.

Co wy myślicie


Zostawiłbym to. Nowoczesne dyski SSD powinny wystarczyć. Zobacz: storagesearch.com/ssdmyths-endurance.html .
Matt

1
Ponadto, pod warunkiem, że obciążenie jest odpowiednie dla twojego serwera, i tak nie powinieneś stronicować na dysk (cóż, stronicowanie tylko tam, gdzie jest to korzystne). Tylko w ostatnim miesiącu moje serwery wykonały średnio około 100 stron na cały miesiąc.
Matthew Ife

Odpowiedzi:


22

Ale zakładając, że masz więcej niż wystarczającą ilość pamięci RAM, uważam, że plik strony powinien być wyłączony na dysku SSD, aby przedłużyć żywotność. Wiem, że stracisz zrzut pamięci po awarii, ale niewiele osób potrzebuje takich informacji

Brzmi to raczej jak przedwczesna optymalizacja. Nie dyskutowałeś, które dyski SSD planujesz używać, i bez faktycznego spojrzenia na obciążenie serwera i planowany arkusz danych SSD, nie możesz mieć pojęcia, jaki wpływ będzie mieć plik strony na żywotność dysku SSD.

Istnieje również duża ilość dezinformacji, zarówno w większym Internecie, jak i tutaj o błędzie serwera, na temat dysków SSD cierpiących z powodu złej żywotności. Dyski SSD we wczesnych modelach mogły mieć problemy, a dyski flash USB zdecydowanie zaczynają się degradować, ale dyski SSD klasy korporacyjnej mają znacznie lepsze algorytmy wyrównywania zużycia, a niektóre wykorzystują zapasową pamięć flash, aby poprawić wydajność i zużycie.

Dyski Intel X25-E , na przykład, twierdzą, że czas zapisu wynosi 1 petabajt losowych zapisów dla dysku 32 GB. Jeśli nasycasz interfejs zapisu (200 MB / s) non-stop, z nadpisywaniem, szacuję, że potrwa to około 58 dni. Ale to zapisuje około 17 TB danych dziennie na tym dysku.

Typowe obciążenie serwera dyskiem systemu operacyjnego będzie znacznie, dużo mniejsze, nawet jeśli masz plik stronicowania. Nazwij to 50 GB dziennie. Jeśli liczba 1 PB jest dokładna (i wiem, że można ją uznać za średnią, więcej dyskusji później), to wciąż jest gdzieś na północ od 50 lat.

Liczby te wydają się oczywiście niedorzecznie wysokie, więc spójrzmy na rzeczywiste liczby cytowane przez Intel dla oczekiwanej żywotności dysków . Intel z przyjemnością zakwalifikował dyski MLC (non-enterprise) do zapisywania 100 GB danych każdego dnia przez pięć lat. Standardowe rozumienie SLC vs. MLC flash mówi, że SLC flash trwa około 10x dłużej niż MLC (powyższy link pokazuje to również na wykresie).

Oczywiście prawda zostanie potwierdzona z czasem - albo zaczniemy wcześnie widzieć awarie dysków, albo nie. Ale numery za napędów dodać do długowieczności napęd nie jest to problem z przyzwoitej jakości SSD w ogóle .

Jeśli używasz dysku SSD MLC, być może masz rację. Pamiętaj jednak, że jeśli Intel z przyjemnością ocenia dysk na 100 GB / dzień przez pięć lat, jest to zasadniczo taki sam jak 50 GB / dzień przez 10 lat. I wracając do mojego pierwotnego punktu, nadal musisz wiedzieć, jaki rodzaj rzeczywistego obciążenia będziesz wykonywać na dysku.

Osobiście zdecydowanie powiedziałbym, aby nie używać dysku MLC SSD w środowisku serwera produkcyjnego. Jeśli przyzwoity dysk SSD SLC jest zbyt drogi, na razie trzymaj się wirujących dysków.

(Nawiasem mówiąc, jeśli podasz liczby, powiedzmy 100 GB dziennie przez 50 lat, co jest oceną „SLC trwa 10x dłużej niż MLC”, wygląda na to, że Intel twierdzi, że ich dysk 32 GB ma całkowity czas zapisu około 2 PB danych, a nie 1 PB cytowanego w specyfikacji produktu. Nawet jeśli ufam tylko mniejszej z tych dwóch wartości, aby być szczęśliwym, że moje dyski X25-E powinny wystarczyć na północ od 10 lat).


Myślę, że zrewiduję moje oświadczenie na temat korzystania z dysków SSD MLC: wydają się one wystarczająco dobre do użytku w przedsiębiorstwach. Słyszałem, że jeden z głównych dostawców dysków SSD SLC zastępuje swój zakres SLC pamięcią flash MLC i inteligentniejszymi kontrolerami.
Daniel Lawson

15

Oprócz tego, że długowieczność prawdopodobnie nie jest problemem, jak wspomina Daniel Lawson, i opinie od samego zespołu stwardnienia rozsianego (poniżej), rozważ

  1. Plik strony i tak będzie używany tylko wtedy, gdy będzie to konieczne
  2. Jeśli używany jest plik stronicowania , umieszczenie go na dysku SSD w porównaniu z obracającym się dyskiem twardym zrobi ogromną różnicę

Czy plik stron powinien być umieszczony na dyskach SSD?

Tak. Większość operacji na plikach stron to małe losowe odczyty lub większe sekwencyjne zapisy, które to typy operacji, które dobrze radzą sobie z dyskami SSD.

Analizując dane telemetryczne z tysięcy śladów i skupiając się na odczytach i zapisach plików stronicowych, znajdujemy to

  • Pagefile.sys czyta ponad liczbę zapisanych stron pagefile.sys o około 40 do 1
  • Rozmiary odczytu pliku Pagefile.sys są zazwyczaj dość małe, z 67% mniejszymi lub równymi 4 KB i 88% mniejszymi niż 16 KB.
  • Pagefile.sys zapisy są stosunkowo duże, z 62% większym lub równym 128 KB i 45% wielkości dokładnie 1 MB. W rzeczywistości, biorąc pod uwagę typowe wzorce plików stronicowania i korzystną charakterystykę wydajności dysków SSD dla tych wzorców, istnieje niewiele plików lepszych niż plik stronicowania na dysku SSD.

Wsparcie i pytania dotyczące dysków półprzewodnikowych (MSDN)


9

Zamiast całkowicie wyłączyć plik stronicowania, przydatne może być poinformowanie systemu operacyjnego, aby go nie używał (na przykład sysctl vm.swappiness=0).

System operacyjny uniknie korzystania z niego, chyba że będzie to konieczne, oszczędzając SSD niepotrzebnych zapisów.


4
To wspaniale. Czy istnieje taka poprawka dla systemu Windows?
Pirolistyczny

Nie jestem pewien, ale możesz to naśladować, ustawiając rozmiar pliku strony na minimum (2 MB) i pozwalając na jego wzrost.
MikeyB,

5

Pozostawiłbym zawsze włączony plik strony; niektóre części twojego systemu operacyjnego lub aplikacji mogą być napisane tak, aby oczekiwać, że będą one dostępne, i jako takie mogą źle funkcjonować, jeśli nie ma.

Powiedziawszy to, w przeszłości korzystałem z systemu Windows (XP) bez pliku stronicowania i jest on całkowicie zadowolony ze wszystkiego, co w niego rzuciłem. Zawsze istniały dręczące wątpliwości, że nadejdzie coś, co nie spodoba się.

Opcją może być ustawienie naprawdę małej.


Nie sądzę, aby aplikacje mogły wykryć, czy używają pamięci RAM, czy wymiany. Więc jak to może mieć znaczenie?
Pirolistyczny

Naprawdę system operacyjny został dostrojony, aby włączyć pamięć wirtualną. Masz rację, jeśli chodzi o dyski SSD, lub wyobrażam sobie, że masz rację - czytałem wiele artykułów mówiących, że występuje z nimi powtarzalny problem z zapisem, a pamięć wirtualna z pewnością to robi. Czy nie możesz umieścić pliku stronicowania / wymiany na odpowiednim dysku? (wydaje się oczywiście sprzeczne z intuicją ...)
Kyle Hodgson,

Dlaczego system operacyjny miałby zakładać, że istnieje plik strony? Linux na pewno nie, i nigdy nie widziałem żadnego powodu, aby sądzić, że Windows też
Mikeage

2
Oto powód, aby sądzić, że system Windows działa: blogs.msdn.com/ericlippert/archive/2009/06/08/…
dmo

3

Nie reaguje to bezpośrednio na OP, ale chciałem poprawić błędne wrażenie w powyższej odpowiedzi / komentarzach Ronalda i Daniela. (Jestem nowy, więc nie mam wystarczającej liczby punktów do skomentowania.)

TRIM jest w rzeczywistości największą rzeczą, jaką możesz zrobić, aby przedłużyć żywotność dysku SSD. Oto dlaczego: dyski SSD okresowo „wyrzucają śmieci” - kopiują (fragmentowane) dane z częściowo pustych bloków wymazywania i zapisują je w sposób ciągły w nowo wymazanym bloku.

Adresy są ponownie mapowane, więc host nie musi być tego świadomy. Ta dodatkowa aktywność zapisu, niezwiązana bezpośrednio z zapisem hosta, nazywa się „wzmocnieniem zapisu”. W najgorszym przypadku całkowicie pełnego dysku SSD z niewielką ilością nadmiarowej (ukrytej wolnej przestrzeni) wzmocnienie zapisu może z łatwością mieścić się w przedziale 500% - 700% prędkości zapisu hosta!

Podczas wyrzucania elementów bezużytecznych dysk SSD nie zadaje sobie trudu, aby kopiować i przepisywać strony, które zostały unieważnione (nadpisane lub TRIMmed), oszczędzając potencjalnie dużo pracy i pisania. Jeśli system plików usunie duży plik, ale nie poinformuje dysku za pomocą TRIM, dysk będzie kontynuował kopiowanie usuniętych danych, marnując zapisy w nieskończoność (lub dopóki adresy bloków nie zostaną przypisane do innego pliku, który może to być długi czas).

Podsumowując, TRIM jest naprawdę ważny zarówno dla długowieczności, jak i wydajności.


2

Stwierdziłem to w innym poście, który podlinkowałeś, ale prowadzimy serwer z linią główną bez pliku strony i wszystko tutaj wydaje się w porządku. Bez niego wydaje się szybszy. Mamy 8 GB pamięci RAM i powiedziałbym, że powinieneś podjąć decyzję na podstawie tego, czy masz dużo pamięci RAM, a nie czy dysk twardy jest dyskiem SSD, czy nie. Chociaż rozumiem chęć ratowania życia, nie robiąc niepotrzebnych zapisów.


2

Wystarczy użyć drugiego dysku twardego do pamięci wirtualnej.


1
Myślę, że chodziło o poprawę wydajności wymiany za pomocą dysku SSD, jeśli zapis pliku strony na dysku SSD nie wypaliłby dostępnych dysków. Używanie zwykłego dysku twardego nie zapewniłoby korzyści w zakresie wydajności, jakie zapewnia dysk SSD.
jrista,

Niemożliwe na większości laptopów.
Brian Knoblauch

0

Używam laptopa z 8 GB pamięci RAM, pojedynczym dyskiem SSD i bez pliku stronicowania, od ponad roku nie ma problemów. Natknąłem się na jedną grę, która wymagała pliku strony, poszedłem na stronę oprogramowania i dostałem polecenie uruchomienia, aby ją wyłączyć, problem rozwiązany.

Mój laptop ma cztery lata. Stare, ale działa szybciej niż niektóre nowsze komputery stacjonarne. Wycieki pamięci, inaczej plik SWAP, stanowią problem w systemie operacyjnym Windows od momentu stworzenia tej techniki. Niestety programiści Linuksa podążyli jego śladem. Im mniej oprogramowania pracujesz w tle, tym lepiej (szczególnie jeśli jest to Microsoft).


-1

Powiedziałbym, nie używaj zamiany, jeśli możesz to zrobić. A może odwróć swapiness w dół. Chociaż trudno go zużyć (ile czasu zajęłoby zapisanie na cały dysk 100 000 razy, przy maksymalnej dostępnej przepustowości?), Jeśli nie jest to potrzebne.

Z drugiej strony hibernacja (zawieszenie na dysk) nie działa bez wymiany.

Kiedyś występowało jakieś dziwne zachowanie bez zamiany (jak w przypadku dysku RAM o pojemności 50 MB, którego zamiana byłaby wygrana), ale zostało to załatane latem ubiegłego roku (a może w 2007 roku?), Więc obecny system operacyjny powinien być w porządku.

Teraz potrzebujemy tylko sprzętu obsługującego polecenie kasowania (Linux obsługuje go od miesięcy), a życie na dysku SSD będzie po prostu eleganckie.


Polecenie TRIM nie zrobi nic, aby przedłużyć żywotność dysku SSD - wystarczy usunąć kasowanie bloku, aby usunąć brudne bloki poza pasmem. Normalne zachowanie polega na tym, że dysk SSD wykonuje operację kasowania podczas przepisywania bloku. Wynik netto jest taki, że dzięki TRIM możesz potencjalnie uzyskać lepszą wydajność, ale dysk SSD nadal będzie wydawał tę samą liczbę poleceń kasowania i zapisu.
Daniel Lawson

To prawda, sprawi, że będą działać lepiej.
Ronald Pottol,

Daniel (i Ronald): Jeśli dysk SSD wie, że część „dysku” została zwolniona lub wyzerowana, dzięki TRIM, prawdopodobnie nie skopiuje go podczas poziomowania zapisu lub zarządzania małymi zapisami. Co oznacza mniej zapisów i dłuższą żywotność, nie? Niektóre źródła, które się ze mną zgadzają, które wydają się solidne: atpinc.com/Memory-insider/… superuser.com/questions/1063744/... wiki.archlinux.org/index.php/Solid_state_drive#TRIM - świetne źródło informacji na temat skrzynek itp.
Matthew Elvey

-2

Dwa dyski SSD klasy korporacyjnej wypaliły się ze mnie bardzo wcześnie (to znaczy w okresie gwarancyjnym). Myślę, że powodem była ciężka zamiana z powodu bicia. Często zdawałem sobie sprawę, że miałem niepotrzebne procesy z uruchomionymi / błędnymi demonami z przeciekami pamięci, tak że aktywność wymiany była prawie ciągła. iostat -n9 -w 10Od czasu do czasu biegam w tle i zauważam, że często występuje ciągła aktywność dysku. Również aktywność procesu wymiany (wymiany) jądra była rejestrowana jako źródło większości operacji we / wy. Pamiętam jednego demona, który przeciekał pamięć przez miesiące i potrzebował okresowego zabijania. Często nie rozwiązuję problemów, chyba że system jest denerwująco powolny, więc często drżenie trwało długo, zanim poświęciłem czas na zrestartowanie demona. I dłużej, aby naprawić wyciek.

Chociaż wyłączenie zamiany zwróciłoby moją uwagę na druzgocenie, więc problem zostałby rozwiązany przed wystąpieniem poważnego zużycia dysku SSD, ale nie jest to najlepszy sposób, aby zapobiec takim uszkodzeniom; każde przyzwoite narzędzie do monitorowania / ostrzegania byłoby lepsze.

Zastrzeżenie, na które wiele odpowiedzi nie uznaje, jest takie, że jeśli serwer będzie ciągle psuł dysk SSD, dość szybko wypali się - w ciągu roku w tej sytuacji często dochodzi do wypalenia . Klasyczne thrashowanie występuje zwykle wtedy, gdy zamiana pamięci wirtualnej jest na tyle duża, że ​​dysk (swap) jest w większości zajęty - w granicach wielkości maksymalnej przepustowości we / wy, a przynajmniej jeden proces czeka na operacje we / wy związane z zamianą O, aby zakończyć większość czasu, gdy system jest w tym stanie. Inne odpowiedzi zakładają, że system nie jestthrashing, przynajmniej nie w klasyczny sposób; lub polegać na niezrozumieniu tego, czym jest bicie. I to fałszywe założenie, pomimo innych dokładnych danych, prowadzi do błędnych odpowiedzi na pytanie, DLACZEGO stronicowanie, nawet jeśli SSD jest jedyną możliwą lokalizacją pliku wymiany, najlepiej pozostawić włączone.


-3

Wyłącz plik stronicowania na dysku, gdy masz dużo nieużywanej pamięci. Niektóre stare programy wymagają funkcji pliku stronicowania, a dla tych systemów Windows utworzy niewielką funkcjonalność pliku stronicowania w pamięci.


2
Nie mogłem więcej się z tobą nie zgadzać. Spójrz na zaakceptowaną odpowiedź na pytanie, do którego prowadzi ten plakat.
Chopper3

2
Windows utworzy plik stronicowania w pamięci? Jak to?
Mark Sowul
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.