Provided by: manpages-it_0.3.4-5_all bug

NOME

       mkswap - predispone una area di swap di Linux

SINTASSI

       mkswap [-c] [-vN] [-f] dispositivo [dimensione]

DESCRIZIONE

       mkswap  predispone  un’area  swap di Linux su di un dispositivo o in un
       file.

       Dopo aver creato l’area swap,  bisogna  usare  il  comando  swapon  per
       iniziare a usarla. Normalmente le aree swap sono elencate in /etc/fstab
       così da poter essere messe in uso, all’avvio, da un comando  swapon  -a
       posto in qualche script di boot.

       L’argomento  dispositivo  sarà  normalmente  una  partizione  del disco
       (qualcosa come /dev/hda4 o /dev/sdb7) ma può anche essere un file.   Il
       kernel  di  Linux  non  guarda  gli identificativi della partizione, ma
       molti script di installazione suppongono  che  le  partizioni  di  tipo
       esadecimale 82 (LINUX_SWAP) siano partizioni swap.

       Il   parametro  dimensione  è  superfluo  ma  viene  mantenuto  per  la
       compatibilità all’indietro:  specifica  la  dimensione  desiderata  per
       l’area  swap in blocchi di 1024 byte.  mkswap userà l’intera partizione
       o file qualora manchi detto parametro.

       Linux conosce due tipi di aree swap: lo stile vecchio e lo stile nuovo.
       Essi vengono distinti dagli ultimi 10 byte della prima pagina dell’area
       swap: il vecchio stile ha come firma ‘SWAP_SPACE’, mentre il  nuovo  ha
       ‘SWAPSPACE2’.

       Nel  vecchio stile, il resto di questa prima pagina era una bitmap, con
       un bit a 1 per ogni pagina  utilizzabile  dell’area  di  swap.   Poiché
       nella prima pagina c’è questa bitmap, il primo bit è a 0.  Inoltre, gli
       ultimi 10 byte contengono la firma. Quindi, se la dimensione di  questa
       pagina  è  D,  un’area  di swap vecchio stile può descrivere al massimo
       8*(D-10)-1 pagine usate per lo swap.  Con  D=4096  (come  negli  i386),
       l’area  utile  è  al massimo di 133890048 byte (quasi 128 MB se credete
       che 1 MB=2^20 byte), e il resto è  sprecato.  Su  un  alpha  e  su  uno
       sparc64,  con  D=8192,  l’area utile è al massimo 535560992 byte (quasi
       512 MB con la stessa condizione).

       La vecchia installazione spreca la maggior parte di  questa  pagina  di
       bitmap,  poiché  i  bit  messi  a  zero  denotano blocchi danneggiati o
       blocchi che superano la fine dello spazio swap, e un semplice intero  è
       sufficiente  per  indicare  la  dimensione  dello spazio swap, mentre i
       blocchi danneggiati,  se  ne  esistono,  possono  essere  semplicemente
       elencati.  Nessuno vuole usare uno spazio swap con centinaia di blocchi
       danneggiati (io non userei neppure uno spazio swap che  abbia  un  solo
       blocco danneggiato).

       Nella  area  di  swap  di  nuovo  stile  questo è precisamente quel che
       avviene.  La massima dimensione utile di un’area di  swap  ora  dipende
       dall’architettura:  è  grosso modo 2GB sugli i386, PPC, m68k, ARM; 1 GB
       sugli sparc; 512MB sui mips; 128GB sugli alpha e 3TB sugli sparc64.

       Notate che prima il kernel 2.1.117 allocava un byte  per  ogni  pagina,
       mentre  ora  alloca due byte, sicché utilizzare un’area di swap di 2 GB
       potrebbe richiedere 2 MB di memoria di kernel.

       Attualmente, Linux consente 8 aree di swap.  Le  aree  in  uso  possono
       essere viste nel file /proc/swaps (a partire dal 2.1.25).

       mkswap rifiuta aree più piccole di 10 pagine.

       Se  si  ignora  la  dimensione  della  pagina  utilizzata dalla propria
       macchina, forse la si può vedere con "cat /proc/cpuinfo" (o  forse  no:
       il  contenuto di questo file dipende dall’architettura e della versione
       del kernel).

       Per predisporre un file di swap, è necessario crearlo prima di eseguire
       mkswap, per esempio usando un comando come

              # dd if=/dev/zero of=swapfile bs=1024 count=65536

       Si  noti che il file di swap non deve contenere nessun buco (perciò non
       è accettabile usare cp(1) per creare il file).

OPZIONI

       -c     Controlla se  il  dispositivo  (qualora  sia  un  dispositivo  a
              blocchi)  contiene blocchi danneggiati prima di creare l’area di
              swap.  Se ne trova, viene stampato il conteggio.

       -f     Sugli SPARC, forza la creazione dell’area di swap.  Senza questa
              opzione  mkswap  rifiuterà  di  creare  uno  swap  v0  su  di un
              dispositivo con un valido superblocco SPARC, poiché in tal  caso
              si  starebbe,  probabilmente,  per  cancellare  la tabella delle
              partizioni.

       -v0    Crea un’area di swap di vecchio stile.

       -v1    Crea un’area di swap di nuovo stile.

       Se non è data alcuna opzione -v,  mkswap  userà  il  vecchio  stile  se
       l’area  di  swap non eccede la dimensione massima di un’area di swap di
       vecchio stile oppure se il  kernel  attuale  è  precedente  al  2.1.117
       (nonché se PAGE_SIZE è minore di 2048).  L’intestazione nuovo stile non
       tocca il primo blocco, quindi potrebbe  essere  preferibile  (anche  se
       l’area  di  swap  è  piccola),  qualora  lì  ci  sia  un  boot loader o
       un’etichetta di disco.

VEDERE ANCHE

       fdisk(8), swapon(8)