swapon(2) System Calls Manual swapon(2) NOME swapon, swapoff - start/stop swapping sul file/dispositivo LIBRARY Standard C library (libc, -lc) SINTASSI #include 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() e specificata l'opzione SWAP_FLAG_PREFER, la nuova area di swap avra una priorita maggiore di quella predefinita. La priorita e codificata in swapflags come: (prio << SWAP_FLAG_PRIO_SHIFT) & SWAP_FLAG_PRIO_MASK Se nell'argomento swapflags di swapon() e 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 funzionalita CAP_SYS_ADMIN). Priorita Ogni area di swap ha una sua priorita, sia essa alta o bassa. Quella predefinita e bassa. Tra le aree a bassa priorita le aree piu nuove hanno sempre una priorita piu bassa delle aree piu vecchie. Tutte le priorita impostate attraverso swapflags sono ad alta prorita, piu alta di quella predefinita. Esse possono avere qualunque valore non negativo scelto dal chiamante. A numero maggiore corrisponde priorita maggiore. Le pagine di swap sono allocate in aree in ordine di priorita, prima quelle con priorita maggiore. Per aree aventi priorita diverse, un'area con priorita piu alta viene esaurita prima che venga usata un'area a priorita piu bassa. Se vi sono due o piu aree con la stessa priorita, ed e la massima priorita 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 verra impostato per indicare l'errore. ERRORI EBUSY (per swapon()) Il percorso specificato e gia stato usato come area di swap. EINVAL Il percorso del file esiste, ma non fa riferimento ne a un file regolare, ne 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 e sato specificato in swapflags. EINVAL (swapoff()) percorso attualmente non e un'area di swap. ENFILE E' 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 funzionalita CAP_SYS_ADMIN. In alternativa, il numero massimo di file di swap e gia in uso; vedere le NOTE sotto. STANDARDS Linux. STORIA The swapflags argument was introduced in Linux 1.3.2. NOTE La partizione o percorso devono essere preparati con mkswap(8). There is an upper limit on the number of swap files that may be used, defined by the kernel constant MAX_SWAPFILES. Before Linux 2.4.10, MAX_SWAPFILES has the value 8; since Linux 2.4.10, it has the value 32. Since Linux 2.6.18, the limit is decreased by 2 (thus 30), since Linux 5.19, the limit is decreased by 3 (thus: 29) if the kernel is built with the CONFIG_MIGRATION option (which reserves two swap table entries for the page migration features of mbind(2) and migrate_pages(2)). Since Linux 2.6.32, the limit is further decreased by 1 if the kernel is built with the CONFIG_MEMORY_FAILURE option. Since Linux 5.14, the limit is further decreased by 4 if the kernel is built with the CONFIG_DEVICE_PRIVATE option. Since Linux 5.19, the limit is further decreased by 1 if the kernel is built with the CONFIG_PTE_MARKER option. Discard of swap pages was introduced in Linux 2.6.29, then made conditional on the SWAP_FLAG_DISCARD flag in Linux 2.6.36, which still discards the entire swap area when swapon() is called, even if that flag bit is not set. VEDERE ANCHE mkswap(8), swapoff(8), swapon(8) TRADUZIONE La traduzione italiana di questa pagina di manuale e stata creata da Goffredo Baroncelli , Giulio Daprela , Elisabetta Galli e Marco Curreli Questa traduzione e documentazione libera; leggere la GNU General Public License Versione 3 o successiva per le condizioni di copyright. Non ci assumiamo alcuna responsabilita. Per segnalare errori nella traduzione di questa pagina di manuale inviare un messaggio a . Linux man-pages 6.06 22 dicembre 2023 swapon(2)