Wydaje mi się, że plik wymiany jest bardziej elastyczny.
Wydaje mi się, że plik wymiany jest bardziej elastyczny.
Odpowiedzi:
Plik wymiany jest bardziej elastyczny, ale także bardziej zawodny niż partycja wymiany. Błąd systemu plików może uszkodzić plik wymiany. Plik wymiany może być uciążliwy dla administratora, ponieważ nie można go przenieść ani usunąć. Plik wymiany nie może być używany do hibernacji. Plik wymiany był w przeszłości nieco wolniejszy, choć obecnie różnica jest znikoma.
Zaletą pliku wymiany jest brak konieczności wcześniejszego decydowania o rozmiarze. Jednak w systemie Linux nadal nie można zmienić rozmiaru pliku wymiany online: należy go wyrejestrować, zmienić rozmiar, a następnie ponownie zarejestrować (lub utworzyć inny plik i usunąć stary). Więc nie ma tak dużych korzyści z pliku wymiany w systemie Linux, w porównaniu do partycji wymiany. Jest to szczególnie przydatne, gdy potrzebujesz tymczasowo więcej pamięci wirtualnej, a nie jako stałe urządzenie.
Preferowana jest partycja wymiany, ponieważ pozwala uniknąć zależności od systemu plików, gdy wszystko, czego potrzebujesz, to adresowalna pula pamięci.
Ale nic nie stoi na przeszkodzie, aby użyć pliku wymiany zamiast partycji wymiany lub oprócz partycji wymiany.
Utwórz plik:
dd if=/dev/zero of=/extraswap bs=1M count=512
Zainicjuj zawartość pliku:
mkswap /extraswap
Użyj tego:
swapon /extraswap
Sprawdź, czy zadziałało:
free -m
Aby zacząć korzystać z pliku wymiany zawsze podczas uruchamiania, edytuj plik / etc / fstab i dodaj
/extraswap swap swap defaults 0 0
[1] http://www.redhat.com/docs/manuals/linux/RHL-8.0-Manual/custom-guide/s1-swap-adding.html
moreswap
terminal, jeśli nagle potrzebuję dodatkowej przestrzeni wymiany:alias moreswap='swapfile=`mktemp /tmp/swapXXXX` && sudo touch $swapfile && sudo dd bs=512 count=1M if=/dev/zero | tee $swapfile | pv -s 512M && sudo mkswap $swapfile && sudo swapon $swapfile'
Być może głównym powodem jest to, że główne jądro zawieszenia na dysk nie działa z plikami wymiany. Na przykład instrukcje wiki Debiana są instalowane, uswsusp
jeśli jest to potrzebne.
Ostatnio pliki wymiany nie działają, jeśli jest to system plików btrfs
, więc najłatwiej jest, aby dystrybucje zawsze tworzyły swap jako partycję.
Jest niejasno wspomniane, że użycie pliku do wymiany miało potencjalnie niższą wydajność niż partycja, przed wersją jądra 2.6. https://www.kernel.org/doc/gorman/html/understand/understand014.html#text15
Dla kompletności dodam własną odpowiedź:
Jak powiedział @Gilles, pliku wymiany nie można użyć do hibernacji. Podczas korzystania z pliku wymiany system musi zlokalizować nagłówek pliku wymiany, ale w tym celu należy zainstalować system plików zawierający plik wymiany, a także system plików z kronikowaniem - np. Ext3, ext4 i zasadniczo wszystkie nowoczesne systemy plików używane przez system Linux - nie można zamontować podczas wznawiania z dysku. (W rzeczywistości istnieją na to sposoby, ale dość kłopotliwe.)
Źródło: https://www.kernel.org/doc/Documentation/power/swsusp-and-swap-files.txt
Myślę, że dzieje się tak głównie dlatego, że czas dostępu do danych znajdujących się na partycji jest krótszy. Plik wymiany ma na celu pomóc administratorowi sys, gdy naprawdę brakuje mu pamięci RAM i musi wykonywać ogromne operacje, które mogą spowodować awarię jego systemu. W takim przypadku sporadycznie tworzy pliki wymiany w razie potrzeby.
Ale i tak możesz mieć ich obu.