partizione di swap vs file di swap


47

Stavo leggendo i nuovi cambiamenti con Ubuntu 17.04 e uno ha attirato la mia attenzione che si stava spostando dal tipico modello di partizione di swap a un nuovo modello di file di swap per nuove installazioni.

Ci sono vantaggi nell'usarlo rispetto a una partizione di swap, forse correlata o in termini di prestazioni, risparmio di spazio, più in linea con l'hardware di oggi come SSD e NVMe o qualcos'altro?

Un'altra domanda correlata è come posso migrare da una partizione di swap a un file di swap? Sto indovinando usando dd ma voglio confermare dato che fino ad ora non sapevo dello schema del file di scambio.

E infine, l'ibernazione sarà un problema con i file di scambio?

Naturalmente queste domande potrebbero essere correlate a casi in cui l'utente ha molta RAM e lo swap viene usato raramente (suppongo). Quindi, solo per confermare che questa informazione aiuterà me e gli altri con gli stessi dubbi.


Informazioni sulla domanda correlata: askubuntu.com/questions/903414/… (se mai riceve una risposta)
muru,

digitalocean.com/community/tutorials/… - Non posso dire che abbia fatto la differenza, non posso davvero. Il sistema funziona bene come prima (lo swap veniva comunque usato raramente).

Ecco come aggiungere uno scambio su file . In 17.04 è un file /swapfile. L'ibernazione può essere un problema.
Takkat,

muru @CelticWarrior Takkat grazie per i collegamenti e le informazioni ragazzi. Davvero molto utile. Se possibile Celtic, se potessi per favore aggiungi le risposte specifiche qui in AskUbuntu per ogni evenienza. Per tutti, assicurarsi che le risposte siano aggiornate (non 2012, ma in realtà 2016-2017, quando è iniziata l'intera faccenda del file di scambio) sarebbe di grande aiuto ed eviterebbe tutto ciò che è accaduto durante quel periodo di tempo che è cambiato.
Luis Alvarado,

1
Se hai la partizione root crittografata, anche il file di scambio viene crittografato - automaticamente. Non c'è bisogno di fare nulla di speciale. Quindi è un miglioramento per l'utente generico, che potrebbe dimenticare di crittografare lo swap.
Maris B.,

Risposte:


35

L'unico vantaggio di un file di scambio è che è facile ridimensionare, quindi non ha molto senso la transizione a meno che tu non sia insoddisfatto della dimensione della tua partizione di swap.

Tradizionalmente i file di scambio venivano scoraggiati per una serie di motivi. Il file di swap era più lento prima di Linux v2.4e potrebbe essere ancora più lento se si crea il file di scambio su un filesystem frammentato. Potrebbe essere un po 'più probabile che si verifichino bug di memoria con file di scambio, ad esempio i catch-22 in cui non è possibile allocare altra memoria fino a quando non si scambia un po' di memoria, ma il file system deve essere allocato prima di poterlo scambiare. Qualche anno fa il letargo ai file di scambio era una nuova controversa caratteristica per ragioni simili. Anni fa, quando i filesystem erano ancora un po 'difettosi (e non registrati su giornale), non era saggio fare un numero enorme di scrivere filesystem importanti, quando invece si poteva semplicemente usare un file di scambio. Come impostazione predefinita, le partizioni di swap sono state testate più dei file di scambio. Presumibilmente Canonical pensa che questi problemi non valgano più la pena di preoccuparsi.

Il motivo principale ora per non passare a un file di scambio è "perché risolvere qualcosa che non è rotto". Se non esegui il backup della partizione principale e elimini accidentalmente il file /homeanziché il file di scambio, sarebbe una seccatura tentare di ripristinarla.

Un altro motivo per non passare ai file di swap è se si sta utilizzando btrfsche non supporta ancora i file di swap (tranne tramite file di loopback lenti)


Anche se decidi di scegliere un file di scambio, non è necessario eliminare la partizione di scambio a meno che tu non abbia poco spazio. Puoi usarli entrambi contemporaneamente se vuoi. Se decidi di eliminare la partizione di swap, prima di tutto avvia con un LiveCD Ubuntu e vai try without installing. Quindi, in un terminale gparted, eliminare la partizione di swap e ridimensionare le partizioni rimanenti (fare prima un backup può essere una buona idea).

Ora riavvia la tua normale installazione di Ubuntu e crea il file di scambio. Poiché il vantaggio di un file di scambio è che è facile ridimensionare, potresti voler usare SwapSpace per gestire le dimensioni del tuo file di scambio:

sudo apt install swapspace

È inoltre possibile creare manualmente un file di scambio seguendo le istruzioni su: https://www.digitalocean.com/community/tutorials/how-to-add-swap-space-on-ubuntu-16-04

Per farla breve, puoi creare un file di scambio 1G incollando quanto segue in un terminale

sudo fallocate -l 1G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
sudo swapon --show

Se funziona, puoi renderlo permanente facendo:

sudo cp /etc/fstab /etc/fstab.bak
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

Hmmm citazioni necessarie .... non sono sicuro dell'argomento del filesystem con errori quanto tempo stai andando ...? Per quanto riguarda la cattura 22, l'Oomkiller lo avrebbe risolto in una certa misura: una piccola allocazione avrebbe causato una piccola uccisione e sarei sorpreso se lo scambio tramite fs non avesse un buffer a portata di mano per una tale eventualità ....
taifwa,

5
Più di 10 anni fa, il consiglio generale era quello di mettere swap, / usr / home e / var su partizioni diverse in modo che se uno di loro si corrompesse da solo, si potesse recuperare dagli altri. Questo probabilmente prima che il journaling fosse comune. I filesystem hanno ancora dei bug, ma la paranoia è probabilmente meglio spesa per fare backup in posti in cui il ransomware non riesce a raggiungerlo.
Gmatht

1
@taifwa Ho aggiunto un link alle FAQ di btrfs in cui non supportano l'accesso rapido ai file di scambio (perché non sono sicuri su come implementarlo senza corruzione) e una nota che il motivo principale per non passare è di non riparare ciò che non è non è rotto. questo aiuta?
Gmatht

1
@gmatht Beh, hai coperto tutto lì in un modo molto carino. Se trovi nuove informazioni nei prossimi mesi / anni con i file di scambio, faccelo sapere aggiornando questa risposta. Complimenti e ottimo lavoro.
Luis Alvarado,

3
@PabloBianchi Può fare, ma preferirei scambiare su SSD in questi giorni. Anche lo scambio su un disco di rotazione può aumentare l'usura. I moderni SSD tendono a non consumarsi molto più velocemente dei dischi rotazionali.
Gmatht,
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.