Zamiana: Czy lepiej utworzyć dedykowaną partycję wymiany lub utworzyć plik wymiany?


9

czy istnieje uzasadnienie, kiedy należy utworzyć dedykowaną partycję wymiany zamiast utworzenia pliku wymiany, na przykład takiego jak / tmp / swap?

W moim przypadku pamięć jest trochę niska (1 GB), miejsce na dysku SSD jest dość duże (256 GB). W związku z tym zamiana będzie odbywać się dość regularnie.

Wszelkie uwagi mile widziane!

Carsten


4
Pamiętaj, że możesz skrócić żywotność dysku SSD, używając go do wymiany. askubuntu.com/questions/652337/…
steve

Odpowiedzi:


3

Główną wadą, jaką widzę przy korzystaniu z plików wymiany w przeciwieństwie do partycji wymiany, jest to, że partycja wymiany nie jest fragmentowana, podczas gdy możliwe jest, że po utworzeniu plik wymiany w systemie plików może zostać podzielony na dysk, powodując wolniejszy dostęp sekwencyjny.


2
Ponieważ dyski SSD nie mają kary losowego odczytu, fragmentacja pliku ma niewielką szkodę.
David King,

Szczerze mówiąc, od tamtej pory jestem zwolennikiem partycji wymiany, ale hej, jak mówimy tutaj w Niemczech, „nie trzeba nic pytać” ;-)
CarstenP

1
Często robię pliki wymiany do tymczasowego użytku, jeśli przewiduję duży projekt, który może wyczerpać skonfigurowaną pamięć RAM i partycje wymiany, ale chcę zachować partycjonowanie. W ten sposób mogę ponownie używać partycji wymiany między dystrybucjami Linuksa równie łatwo, jak mogę ponownie użyć partycji domowych.
DopeGhoti,

1
Część o „większej liczbie warstw kodu jądra do przejścia podczas zapisywania do pliku w systemie plików” nie jest prawdą: „ Jądro generuje mapę przesunięcia wymiany -> bloków dysku w czasie wymiany, a następnie używa tej mapy do wykonania wymiany I / O bezpośrednio w bazowej kolejce dysków, omijając wszystkie buforowanie, metadane i kod systemu plików. ”- Archiwum jądra Linux: Re: Partycja wymiany kontra plik wymiany
Anthony Geoghegan

1

Operacje we / wy na pliku muszą przechodzić przez więcej warstw kodu jądra (na przykład VFS), więc jest więcej kosztów związanych z zamianą na plik. Z drugiej strony jest to bardziej elastyczna konfiguracja i może być wystarczająca dla twojego przypadku.


Być może powinienem się bardziej zaznajomić z pompą We / Wy Swap, kaczkami i okolicznościami ... Czy nie ma nic takiego w Linuksie, że jest miły, powolny i prosty? ^^: D PS: Cóż, zapomnij o „powolnej” rzeczy… ^^
CarstenP

To nie jest prawda: „ Jądro generuje mapę przesunięcia swapu -> bloków dysku w czasie swapon i odtąd używa tej mapy do wykonywania operacji I / O swap bezpośrednio w kolejce dyskowej, omijając wszystkie buforowanie, metadane i kod systemu plików. ”- Archiwum jądra Linux: Re: Partycja wymiany kontra plik wymiany
Anthony Geoghegan

1

Dostęp do plików wymiany nie przechodzi przez system plików ... jądro wie, które bloki dysków są wymieniane i uzyskuje do nich bezpośredni dostęp 1 . Ale nieprzylegający plik może zawierać fragmenty w różnych obszarach dysku, a w zależności od konkretnego zastosowania dodatkowe wyszukiwanie może spowodować, że będzie wolniejszy niż dedykowana partycja.

OTOH, jeśli masz do czynienia z serwerem w chmurze, który nie ma partycji wymiany i nie ma możliwości jej utworzenia, plik wymiany może zapisać twoją aplikację.


[1]Jądro generuje mapę przesunięcia swapu -> bloków dysku w czasie swapon i odtąd używa tej mapy do wykonywania operacji I / O swap bezpośrednio w kolejce dyskowej, omijając wszystkie buforowanie, metadane i kod systemu plików. ”- Archiwum jądra Linux: Re: Zamień partycję kontra plik wymiany


Co się dzieje, gdy fs przesuwa / zmienia rozmiar bloków plików? Myślę, że w przypadku plików wymiany powinna istnieć przynajmniej interakcja sterownika fs.
peterh - Przywróć Monikę

Pozytywne. To powinna być zaakceptowana odpowiedź, ponieważ jest to jedyna informacja, że ​​jądro bezpośrednio uzyskuje dostęp do bloków dysku używanych do wymiany.
Anthony Geoghegan
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.