Provided by: manpages-pl_20060617-1_all bug

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)