Jaki system plików jest zamienny w systemie Linux

14

W Linuksie możesz wybrać takie rzeczy jak ext3 i reiserfs dla partycji. W przypadku partycji wymiany wystarczy wybrać „zamień”. Jaki to właściwie system plików? Czy możesz po prostu utworzyć partycję ext3 i ustawić ją jako partycję wymiany? Jak by to było inaczej?

tony_sid
źródło
System plików wymiany w systemie Linux wydaje się nazywać systemem plików wymiany systemu Linux. Jeśli uda mi się znaleźć prawdziwe informacje na ten temat, opublikuję odpowiedź. Jak dotąd czytałem z en.wikipedia.org/wiki/Paging, że jądro omija system plików na plikach wymiany. To samo może dotyczyć partycji wymiany.
AndrejaKo,
1
Niesamowici ludzie na forach Gentoo podali mi ten link! Wszystko wydaje się być dobrze wyjaśnione. Aha i dzięki John R. Graham.
AndrejaKo,

Odpowiedzi:

26

Zamiana nie jest rzeczywistym systemem plików. To tylko zarezerwowana część dysku, która jest surową pamięcią adresowalną bez specjalnej struktury.

mkswap tworzy nagłówek dla obszaru wymiany z dodatkowymi informacjami. Z swapheader.h pakietu util-linux-ng:

struct swap_header_v1 {
    char         bootbits[1024];    /* Space for disklabel etc. */
    unsigned int version;
    unsigned int last_page;
    unsigned int nr_badpages;
    unsigned int padding[125];
    unsigned int badpages[1];
};

Aktualnie używana jest wersja nagłówka 1. Tyle o całej magii kryjącej się za surową strukturą wymiany.

Matthias Krull
źródło
Czy nie musi istnieć jakiś system plików, aby czytać i zapisywać cokolwiek znaczącego na partycji?
tony_sid
5
Nie. Musisz po prostu zająć się kawałkami pamięci. Właśnie takie są strony. Dzieje się tak, ponieważ nie przechowujesz danych o złożonej strukturze lub dodatkowych informacjach, takich jak w prawdziwych systemach plików, w których wraz z danymi przechowywane są uprawnienia i daty.
Matthias Krull,
6
Nadal możesz adresować bloki, jeśli nie masz systemu plików.
Matthias Krull,
8

Myślę, że partycja wymiany nie potrzebuje systemu plików, ponieważ nie ma w nim plików ani katalogów. Partycja wymiany to miejsce wirtualnej pamięci RAM.

Matteo De Felice
źródło
2
nie jest to dokładnie wirtualny baran. jest to pamięć (podobnie jak ram), którą można odwzorować na pamięć wirtualną procesu.
matthias krull
4

Linux ma dwie formy przestrzeni wymiany: partycję wymiany i plik wymiany. Partycja wymiany jest niezależną sekcją dysku twardego używaną wyłącznie do wymiany; nie mogą tam znajdować się żadne inne pliki. Plik wymiany to specjalny plik w systemie plików, który znajduje się w systemie i plikach danych.

Zamiana jest konieczna z dwóch ważnych powodów. Po pierwsze, gdy system wymaga więcej pamięci niż jest fizycznie dostępne, jądro zamienia mniej używane strony i przekazuje pamięć bieżącej aplikacji (procesowi), która natychmiast potrzebuje pamięci. Po drugie, znaczna liczba stron używanych przez aplikację w fazie uruchamiania może być użyta tylko do inicjalizacji, a następnie nigdy więcej. System może zamienić te strony i zwolnić pamięć dla innych aplikacji, a nawet pamięci podręcznej dysku.

Am1rr3zA
źródło
2
Odpowiedź jest naprawdę miła i wyjaśnia sedno problemu, ale jest odpowiedzią na pytanie „Co to jest zamiana w GNU / Linux?” Co on tutaj robi? Również link linux.com/news/software/applications/…
AndrejaKo
Wiem, co to jest zamiana.
tony_sid
... nie wiedziałem o opcji wymiany plików
MrCalvin
-1

Istnieją dwa sposoby tworzenia przestrzeni wymiany: zamiana systemu plików i zamiana urządzeń (lub raw). Dzięki zamianie systemu plików tworzysz plik w systemie plików i używasz go jako przestrzeni wymiany (podobnie jak w Windows z pagefile.sys). Dzięki zamianie urządzeń zamieniasz się na partycję utworzoną specjalnie do wymiany.

Co jest lepsze:

Ta debata była o wiele bardziej interesująca w „starych” dniach, ponieważ:

Dlaczego zamiana urządzeń jest „lepsza”: skoro przechodzisz na surową partycję, jest to szybsze, ponieważ nie musisz radzić sobie z całym dodatkowym kosztem systemu plików z i-węzłami i innym systemem plików

Dziś jednak ten argument tak naprawdę nie ma zastosowania. Wraz z ewolucją tego, jak szybki jest obecnie dostęp do dysku, zamiana urządzeń nie kosztuje dużo więcej czasu niż zamiana systemu plików.

Dlaczego zamiana systemu plików jest „lepsza”: Znacznie łatwiej jest zmieniać rozmiary. Zmiana rozmiaru partycji jest o wiele trudniejsza niż tworzenie nowych plików.

Jednak dziś, gdy wiele osób korzysta z LVM zamiast surowych partycji, łatwo jest zmniejszyć i zwiększyć przestrzeń wymiany

DZISIAJ jest to jeszcze bardziej dyskusyjne: większość serwerów w dzisiejszych czasach ze względów wydajnościowych jest warta kosztu po prostu włożenia jej do pamięci. (Ta debata była o wiele bardziej popularna, gdy RAM był trudniejszy do zdobycia i często umieszczano tylko 4 GB do 8 GB pamięci RAM na serwerze)

DLACZEGO KORZYSTAM Z SYSTEMU FILESYSTEM SWAP (i ogólnie wymiany)

Obecnie instruuję naszych chłopaków, aby instalowali z 4gig swap onl i używamy tego samego config / image dla wszystkich naszych instalacji Linuksa. Instalacja Oracle wymaga większego wykorzystania wymiany, więc dla systemów, które będą miały Oracle, utworzę resztę za pomocą wymiany systemu plików. Możliwe, że Twoja aplikacja może wymagać wymiany, w którym to przypadku możesz później dodać ją za pomocą wymiany systemu plików.

czy to pomaga?

Mam szczegółowe instrukcje, jak to zrobić w systemie Linux tutaj: http://geekswing.com/geek/how-to-add-filesystem-swap-on-linux-and-unix-systems/

ben
źródło
1
„Dzisiaj jednak ten argument tak naprawdę nie istnieje. Wraz z ewolucją tego, jak szybki jest obecnie dostęp do dysku, zamiana urządzeń nie kosztuje dużo więcej czasu niż wymiana systemu plików. ”- to nie jest powód. Chodzi o to, że przestrzeń wymiany może być natychmiast potrzebna. Przejście przez system plików obejmuje katalogi, bloki, i-węzły, pamięć podręczną buforów itp., Które są ścieżkami kodowymi, które same mogą potrzebować więcej pamięci, prowadząc do pętli. Właśnie dlatego zamianę najlepiej wykonywać na surowym urządzeniu blokowym. Unika także fragmentacji pliku wymiany.
mirabilos
Ta odpowiedź może dotyczyć kilku interesujących kwestii, ale nie odpowiada na pytanie ...
Samuel Li