swapon

SWAPON(2)                  Linux Programmer's Manual                 SWAPON(2)



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 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
       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 4.08 del progetto Linux man-pages.
       Una descrizione del progetto, le istruzioni per la segnalazione degli
       errori, e l'ultima versione di questa pagina si trovano su
       https://www.kernel.org/doc/man-pages/.

       La versione italiana fa parte del pacchetto man-pages-it v. 4.08, 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



Linux                             2015-12-28                         SWAPON(2)