File di scambio in crescita dinamica su Debian


10

So come creare un file di scambio e usarlo come scambio. Ma devo prima configurare la dimensione del file e lo spazio viene utilizzato sul disco, se lo swap viene utilizzato o meno.

Come faccio a creare uno swap che ha una dimensione iniziale di 0 e cresce su richiesta?


@Gilles: sono solo curioso - Perché hai modificato il titolo (a parte il refuso)? Non è desiderato avere domande completamente pronunciate qui?
rubo77,

1
È meglio evitare parole inutili, soprattutto all'inizio del titolo, in cui le persone prestano maggiore attenzione. Vedi Come posso scrivere un buon titolo? . "Swap in crescita dinamica" dà l'idea essenziale. "Come faccio a creare" non inizia a indicare la domanda. Ci sono persone che preferiscono fare domande sui titoli delle domande perché sono domande, ma è una ragione sciocca: il titolo è anche il titolo delle risposte.
Gilles 'SO- smetti di essere malvagio' il

Risposte:


3

Swapspace è vecchio e non mantenuto e potrebbe, un giorno, portare a problemi nei sistemi moderni. Penso che la migliore soluzione per lo scambio dinamico sia:

sudo apt install dphys-swapfile
sudo update-rc.d dphys-swapfile enable

quindi impostando CONF_SWAPFACTOR=2in /etc/dphys-swapfilee, infine,

sudo service dphys-swapfile start

Funziona, ma tieni presente che potresti stare meglio senza cambiare, vedi unix.stackexchange.com/a/136133/20661
rubo77

10

SwapSpace è un'utilità che crea un "file di scambio dinamico" che cambia in base alle esigenze del sistema operativo.

Quindi puoi anche dimenticare di creare un file di scambio virtuale e installare semplicemente "SwapSpace" e ne creerà uno automaticamente per te e lo ridimensionerà anche quando necessario.

Puoi anche usare 'Swapspace' fianco a fianco con un file di swap creato manualmente e quando uno si riempie manualmente 'Swapspace' ne creerà automaticamente un altro per il sistema operativo in modo che il sistema operativo abbia sempre uno spazio di swap e ne aumenti la stabilità.

Un'altra cosa utile di "SwapSpace" è che, ogni volta che può, ridurrà la dimensione di SwapSpace e "rilascerà" quei byte nel file system dell'utente e, secondo gli sviluppatori, questa riduzione aiuta anche ad aumentare le prestazioni del file di scambio ( inoltre il tuo "prezioso" spazio su HDD non viene sprecato troppo).

Installa con

sudo apt-get install swapspace

E regola il file di configurazione in base alle tue esigenze. Ho impostato il minimo 0sulla mia macchina debian VM con solo HDD da 8 GB


Inoltre ho anche impostato lo swappiness per 0ridurre al minimo l'utilizzo del prezioso spazio HDD sulla mia VM:

Per modificare il valore di scambio del sistema, aprire /etc/sysctl.confcome root. Quindi, modifica o aggiungi questa riga al file:

vm.swappiness = 0

(Riavvia per rendere effettiva la modifica)


Questo non supporterà swsusp / la sospensione del file di scambio, a meno che la dimensione del file di scambio creato non sia già abbastanza grande da contenere il dump della RAM.
Soze

Quindi, come possiamo assicurarci che il file di scambio diventi abbastanza grande da contenere la ram?
rubo77,

Avere un file di scambio di dimensioni fisse delle dimensioni della RAM per la sospensione, quindi utilizzare lo spazio di scambio per gli scambi di dimensioni dinamiche
Tom Hale,

Ha funzionato per me. Questo è super utile per i piccoli dischi SSD.
Adrian Lopez,

0

Afaik, qualsiasi partizione di swap che creeresti usando ad esempio fdisk, avrebbe bisogno di uno spazio maggiore di 0, poiché stai modificando lo spazio da un disco esistente e lo riallocando in un altro posto.

Ad ogni modo, e rispondendo alla tua domanda, puoi facilmente creare una piccola partizione, assegnarla come swap sotto fdisk e successivamente:

1) disabilita lo scambio con swapoff -v 2) ridimensiona la partizione con lvresize 3) formatta la partizione con mkswap 4) riattiva lo spazio di scambio conswapon -v

Successivamente, è possibile utilizzare cat /proc/swapsper verificare se è stato aggiornato o meno. Puoi facilmente usarlo su uno script, a seconda delle specifiche del tuo sistema, ed eseguirlo su richiesta ogni volta che è necessario aumentare lo spazio di scambio. Qualcosa di simile a:

$ swapoff -v /dev/swapvol1
$ lvresize /dev/swapvol1 -L +1G
$ mkswap /dev/swapvol1
$ swapon -v /dev/swapvol1

1
Questo non risponde alla domanda perché le dimensioni dello swap vengono modificate manualmente, non su richiesta. Inoltre, ridimensionare il LV non è utile: dove trovi lo spazio per crescere? in che modo lo spazio liberato sulla riduzione non viene sprecato? La domanda riguarda un file di scambio, che risolve il problema dello spazio libero: è disponibile per altri file.
Gilles 'SO- smetti di essere malvagio' il

La modifica della dimensione dello swap su richiesta è una buona idea, ma lo swapspace non copre lo scenario di swsusp utilizzato per supportare l'ibernazione. Credo che questa risposta potrebbe essere più sana per quegli utenti che hanno bisogno del supporto per l'ibernazione. Ovviamente, fino a quando swapspace non lo gestirà meglio.
Soze
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.