Provided by:
manpages-pl_20060617-1_all 
NAZWA
mkswap - skonfiguruj linuksowy obszar wymiany
SKŁADNIA
mkswap [-c] [-vN] [-f] [-p PSZ] urzdzenie [rozmiar]
OPIS
mkswap konfiguruje linuksowy obszar wymiany na urządzeniu lub w pliku.
(Po utworzeniu obszaru wymiany musisz użyć polecenia swapon by go
aktywować. Zwykle obszary wymiany są wymieniane w /etc/fstab, więc mogą
być włączane do użytku podczas startu systemu poleceniem swapon -a w
skrypcie startowym.)
Argument urzdzenie zwykle jest partycją dyskową (coś w rodzaju
/dev/hda4 lub /dev/sdb7) lecz może być również plikiem. Jądro Linuksa
nie zważa na identyfikatory partycji, lecz wiele skryptów
instalacyjnych zakłada, że partycje typu 82 (szesnastkowo --
LINUX_SWAP) są partycjami wymiany. (Uwaga: Solaris również używa tego
typu. Uważaj by nie zabić swoich partycji solarisowych.)
Parametr rozmiar jest niepotrzebny, lecz zachowany dla zgodności
wstecznej. (Określa on potrzebny rozmiar obszaru wymiany w 1024
blokach. mkswap w przypadku pominięcia tego parametru używa całej
partycji lub całego pliku. Podawanie tego parametru jest niemądre --
literówka może zniszczyć dysk.)
Parametr PSZ określa rozmiar używanej strony. Podawanie go jest prawie
zawsze niepotrzebne (nawet niemądre), lecz niektóre stare wersje libc
kłamią o rozmiarze strony, więc mkswap może się pomylić. Symptomem jest
to, że kolejne swapon nie powodzą się, gdyż nie znajdują sygnatury
wymiany. Typowymi wartościami PSZ są 4096 lub 8192.
Linux zna przynajmniej dwa rodzaje obszarów wymiany: stary i nowy.
Ostatnie 10 bajtów pierwszej strony obszaru wymiany służą do
rozróżnienia: stary ma w sygnaturze `SWAP_SPACE', nowy `SWAPSPACE2'.
W starym rodzaju dalszym ciągiem pierwszej strony była mapa bitowa, z
jednym bitem na każdą używalną stronę obszaru wymiany. Ponieważ
pierwsza strona przechowuje mapę bitową, pierwszy bit jest zerowy.
Ponadto ostatnie 10 bajtów przechowuje sygnaturę. Jeśli więc rozmiar
strony wynosi S, to obszar wymiany starego rodzaju może opisać najwyżej
8*(S-10)-1 stron przydatnych do wymiany. Przy S=4096 (jak w i386),
użytecznym obszarem jest najwyżej 133890048 bajtów (prawie 128 MiB), a
reszta jest marnowana. Na alfie i sparc64 o S=8192, użytecznym obszarem
jest najwyżej 535560992 bajtów (prawie 512 MiB).
Stara konfiguracja marnuje większość tej strony mapy bitowej, gdyż bity
zerowe określają uszkodzone lub bloki poza końcem obszaru wymiany, choć
do określenia rozmiaru obszaru wymiany wystarcza prosta liczba
całkowita, a uszkodzone bloki można umieścić na liście. Nikt nie chce
używać obszaru wymiany z setkami uszkodzonych bloków. (Nie chciałbym
używać obszaru nawet z 1 uszkodzonym blokiem.) W nowym rodzaju obszaru
wymiany zrobiono właśnie to. Maksymalny rozmiar obszaru wymiany zależy
od architektury. Wynosi on 2GiB na i386, PPC, m68k, ARM, 1GiB na
sparku, 512MiB na mipsie i 128GIB na alfie oraz 3TiB na sparc64.
Zauważ, że przed 2.1.117 jądro alokowało jeden bajt na każdą stronę, a
obecnie alokuje dwa bajty, więc wzięcie obszaru wymiany 2GiB może
wymagać 2MiB pamięci jądrowej.
Obecnie Linux zezwala na 8 obszarów wymiany. Używane obszary można
zobaczyć w pliku /proc/swaps (od 2.1.25).
mkswap odmawia utworzenia obszarów mniejszych niż 10 stron.
Jeśli nie wiesz jakiego rozmiaru strony używa twoja maszyna, możesz to
sprawdzić poleceniem `cat /proc/cpuinfo' (lub nie możesz -- zawartość
tego pliku zależy od architektury i wersji jądra).
Aby skonfigurować plik wymiany należy utworzyć ten plik przed
zainicjalizowaniem go poleceniem mkswap , np. używając polecenia w
rodzaju
# dd if=/dev/zero of=swapfile bs=1024 count=65536
Zauważ, że plik wymiany nie może zawierać dziur (więc używanie do jego
utworzenia cp(1) jest niedopuszczalne).
OPCJE
-c Sprawdzenie urządzenia (jeśli jest blokowe) w poszukiwaniu
uszkodzonych bloków przed utworzeniem obszaru wymiany. Jeśli
jakieś zostaną znalezione, ich liczba zostaje wydrukowana.
-f Wymuszenie działania nawet jeśli polecenie jest głupie.
Umożliwia to tworzenie obszaru wymiany większego niż plik lub
partycja, na których on się znajduje. Na SPARC wymuszenie
tworzenia obszaru wymiany. Bez tej opcji mkswap odmówi
tworzenia wymiany v0 na urządzeniu z prawidłowym superblokiem
SPARC, gdyż oznacza to że ktoś ma zamiar wymazać tablicę
partycji.
-p PSZ Określenie rozmiaru używanej strony.
-v0 Utworzenie obszaru wymiany starego rodzaju.
-v1 Utworzenie obszaru wymiany nowego rodzaju.
Jeśli opcja -v nie jest podana, mkswap domyślnie użyje nowego rodzaju,
lecz jeśli bieżące jądro jest starsze niż 2.1.117 (i również jeśli
PAGE_SIZE jest mniejsze niż 2048), użyj starszego rodzaju. Nagłówek
nowego rodzaju nie dotyka pierwszego bloku, więc może być preferowany w
przypadku gdy masz tam LILO lub etykietę dysku. Jeśli musisz używać
zarówno jądra 2.0 jak i 2.2, użyj -v0.
ZOBACZ TAKŻE
fdisk(8), swapon(8)