Provided by: manpages-it-dev_4.27.0-1_all bug

NOME

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

LIBRERIA

       Libreria C standard (libc, -lc)

SINTASSI

       #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  restituisce  zero.  In caso di errore restituisce -1, e errno verrà impostato per
       indicare l'errore.

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(5).

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

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

       ENFILE È stato raggiunto il limite per l'intero 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

       Linux.

STORIA

       L'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), da Linux 5.19 il
       limite è stato abbassato di 3 (quindi: 29) 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 scende ulteriormente di 1 se il kernel è
       compilato con l'opzione CONFIG_MEMORY_FAILURE. Da Linux 5.14 il limite è ulteriormente abbassato di 4  se
       il  kernel  è  compilato  con  l'opzione  CONFIG_DEVICE_PRIVATE.  Da Linux 5.19 il limite è ulteriormente
       ridotto di 1 se il kernel è compilato con l'opzione CONFIG_PTE_MARKER.

       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  tuttora  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)

TRADUZIONE

       La  traduzione  italiana  di  questa  pagina  di  manuale  è  stata   creata   da   Goffredo   Baroncelli
       <kreijack@usa.net>,  Giulio  Daprelà  <giulio@pluto.it>,  Elisabetta  Galli  <lab@kkk.it>,  Marco Curreli
       <marcocurreli@tiscali.it> e Giuseppe Sacco <eppesuig@debian.org>

       Questa traduzione è documentazione libera; leggere la GNU General Public License Versione 3 o  successiva
       per le condizioni di copyright. Non ci assumiamo alcuna responsabilità.

       Per  segnalare  errori  nella  traduzione  di  questa  pagina  di  manuale  inviare un messaggio a pluto-
       ildp@lists.pluto.it.

Linux man-pages 6.9.1                             2 maggio 2024                                        swapon(2)