Provided by: manpages-it_3.73-2_all bug

NOME

       swapon, swapoff - start/stop swapping sul file/dispositivo

SINTASSI

       #include <unistd.h>
       #include <sys/swap.h>

       int swapon(const char *path, int swapflags);
       int swapoff(const char *path);

DESCRIZIONE

       swapon()  imposta  lo  swap  sul  dispositivo  a  blocchi  o sul file specificato in path.
       swapoff() ferma lo swap sul dispositivo a blocchi o sul file specificato in path.

       Se nell'argomento swapflags di swapon() è specificata l'opzione SWAP_FLAG_PREFER, la nuova
       area  di  swap avrà una priorità maggiore di quella predefinita.  La priorità è codificata
       in swapflags come:

           (prio << SWAP_FLAG_PRIO_SHIFT) & SWAP_FLAG_PRIO_MASK

       Se nell'argomento swapflags di swapon()  è  specificata  l'opzione  SWAP_FLAG_DISCARD,  le
       pagine  di swap liberate saranno segnate come scartate prima di essere riutilizzate, se il
       dispositivo di swap supporta l'operazione discard o trim.  (Questo potrebbe migliorare  le
       prestazioni di alcuni Dispositivi a Stato Solido, ma spesso non avviene).  Vedere anche la
       sezione NOTE.

       Queste funzioni possono essere usate solo da un  processo  privilegiato  (uno  che  ha  le
       funzionalità CAP_SYS_ADMIN).

   Priorità
       Ogni area di swap ha una sua priorità, sia essa alta o bassa.  Quella predefinita è bassa.
       Tra le aree a bassa priorità le aree più nuove hanno sempre una priorità più  bassa  delle
       aree più vecchie.

       Tutte  le priorità impostate attraverso swapflags sono ad alta prorità, più alta di quella
       predefinita.  Esse possono avere qualunque valore non negativo scelto  dal  chiamante.   A
       numero maggiore corrisponde priorità maggiore.

       Le  pagine  di swap sono allocate in aree in ordine di priorità, prima quelle con priorità
       maggiore.  Per aree aventi priorità diverse, un'area con priorità più alta viene  esaurita
       prima  che  venga  usata  un'area  a priorità più bassa.  Se vi sono due o più aree con la
       stessa priorità, ed è la massima priorità disponibile, le pagine sono allocate secondo uno
       schema a "round-robin".

       Fino al kernel 1.3.6, si seguivano queste regole, ma con alcune eccezioni

VALORE RESTITUITO

       In  caso  di successo viene restituito 0; in caso di errore -1 ed errno viene impostato di
       conseguenza.

ERRORI

       EBUSY  (per swapon()) Il percorso specificato è già stato usato come area di swap.

       EINVAL Il percorso del file esiste, ma non fa riferimento nè a un file regolare, nè  a  un
              dispositivo a blocchi.

       EINVAL (swapon())  Il percorso indicato non contiene una firma di swap valida o risiede in
              un filesystem in memoria come tmpfs.

       EINVAL (a partire da Linux 3.4)
              (swapon()) Un valore di opzione non valido è sato specificato in flags.

       EINVAL (swapoff()) il percorso attualmente non è un'area di swap.

       ENFILE È stato raggiunto il limite del sistema sul numero totale di file aperti.

       ENOENT Il percorso del file non esiste.

       ENOMEM Il sistema ha memoria insufficiente per iniziare lo swapping.

       EPERM  Il chiamante non ha la  funzionalità  CAP_SYS_ADMIN.   In  alternativa,  il  numero
              massimo di file di swap è già in uso; vedere le NOTE sotto.

CONFORME A

       Queste  funzioni  sono  specifiche di Linux e non devono essere usate in programmi pensati
       per essere portabili.  Il secondo argomento swapflags è stato introdotto in Linux 1.3.2.

NOTE

       La partizione o percorso devono essere preparati con mkswap(8).

       C'è un limite superiore al numero di file di swap che si  possono  usare,  definito  dalla
       costante  del  kernel  MAX_SWAPFILES.  Prima del kernel 2.4.10, il valore di MAX_SWAPFILES
       era 8; dal kernel 2.4.10 il valore è 32.  A partire dal kernel 2.6.18 il limite è sceso di
       due  unità  (quindi:  30)  se  il  kernel  è compilato con l'opzione CONFIG_MIGRATION (che
       riserva due voci nella tabella di swap per le funzionalità di  migrazione  di  pagina  del
       comando  mbind(2)  e  migrate_pages(2)).   A  partire dal kernel 2.6.32, il limite è sceso
       ulteriormente di 1 se il kernel è compilato con l'opzione CONFIG_MEMORY_FAILURE.

       Lo scarto di pagine di swap è stato  introdotto  nel  kernel  2.6.29  e  reso  in  seguito
       dipendente  dall'opzione  SWAP_FLAG_DISCARD  nel kernel 2.6.36, che scarta ancora l'intera
       area di swap quando swapon() viene chiamato, anche se il bit dell'opzione non è impostato.

VEDERE ANCHE

       mkswap(8), swapoff(8), swapon(8)

COLOPHON

       Questa pagina fa parte del rilascio 3.73 del progetto Linux  man-pages.   Una  descrizione
       del  progetto,  le  istruzioni  per  la  segnalazione degli errori, e l'ultima versione di
       questa pagina si trova su http://www.kernel.org/doc/man-pages/.

       La versione italiana fa parte del pacchetto man-pages-it v. 3.73, a cura di: ILDP "Italian
       Linux Documentation Project" http://www.pluto.it/ildp
       Per     la     traduzione     in     italiano     si     può     fare     riferimento    a
       http://www.pluto.it/ildp/collaborare/
       Segnalare eventuali errori di traduzione a ildp@pluto.it