Scambia: è meglio creare una partizione di swap dedicata o creare un file di swap?


9

esiste una logica quando creare una partizione di swap dedicata anziché creare un file di swap, ad esempio come / tmp / swap?

Nel mio caso certo, la memoria è abbastanza bassa (1 GB), lo spazio su disco su un SSD è piuttosto grande (256 GB). Pertanto, lo scambio avverrà abbastanza regolarmente.

Ogni commento è apprezzato!

Carsten


4
Ricorda che puoi ridurre la durata del tuo SSD utilizzandolo per lo scambio. askubuntu.com/questions/652337/…
steve

Risposte:


3

Lo svantaggio principale che posso vedere per l'utilizzo dei file di swap rispetto alle partizioni di swap è che non è possibile frammentare una partizione di swap, mentre è possibile che, al momento della creazione, un file di swap su un filesystem di estensione possa essere suddiviso sul disco, causando un accesso sequenziale più lento.


2
Poiché gli SSD non hanno una penalità di lettura casuale, il file frammentato presenta pochissimi danni.
David King,

Ad essere sincero, da allora sono stato a favore di una partizione di swap, ma hey, come diciamo qui in Germania, "non c'è alcun costo nel chiedere" ;-)
CarstenP

1
Creerò spesso file di scambio per uso temporaneo se prevedo un grande progetto in arrivo che potrebbe esaurire la RAM configurata e le partizioni di scambio, ma mi piace mantenerlo partizionato. In questo modo, posso riutilizzare le partizioni di swap tra le distribuzioni Linux con la stessa facilità con cui posso riutilizzare le partizioni home.
DopeGhoti,

1
La parte su "più strati di codice del kernel da attraversare quando si scrive su un file su un filesystem" non è vera: " Il kernel genera una mappa di offset di scambio -> blocchi del disco al momento dello scambio e da quel momento in poi usa quella mappa per eseguire lo scambio I / O direttamente contro la coda del disco sottostante, ignorando tutta la cache, i metadati e il codice del filesystem. "- Linux-Kernel Archive: Ri: Scambia partizione vs file di scambio
Anthony Geoghegan il

1

Le operazioni di I / O su un file devono passare attraverso più livelli di codice del kernel (ad esempio VFS), quindi c'è più sovraccarico associato allo scambio in un file. D'altra parte è una configurazione più flessibile e può essere abbastanza buona per il tuo caso.


Forse dovrei familiarizzarmi con la pompa I / O di swap, le anatre e le circostanze ... Non c'è niente su Linux che sia bello, lento e semplice ?? ^^: D PS: Beh, dimentica la cosa "lenta" ... ^^
CarstenP

In realtà non è vero: “ Il kernel genera una mappa dell'offset di swap -> blocchi del disco al momento dello swapon e da quel momento in poi usa quella mappa per eseguire l'I / O di swap direttamente contro la coda del disco sottostante, ignorando tutta la cache, i metadati e il codice del filesystem. "- Linux-Kernel Archive: Ri: Scambia partizione vs file di scambio
Anthony Geoghegan il

1

L'accesso ai file di scambio non passa attraverso il filesystem ... il kernel sa quali blocchi di dischi sono scambiati e li accede direttamente 1 . Ma un file non contiguo può avere frammenti in diverse aree del disco e, a seconda dell'uso specifico, ulteriori ricerche potrebbero renderlo più lento di una partizione dedicata.

OTOH, se hai a che fare con un server cloud che non ha una partizione di swap e non c'è possibilità di crearne uno, un file di swap può salvare la tua applicazione.


[1]Il kernel genera una mappa dell'offset di swap -> blocchi del disco al momento dello swapon e da quel momento in poi usa quella mappa per eseguire l'I / O di swap direttamente contro la coda del disco sottostante, ignorando tutta la cache, i metadati e il codice del filesystem. ”- Linux-Kernel Archive: Ri: Scambia partizione vs file di scambio


Qual è il caso se la fs sposta / ridimensiona i blocchi di file? Penso che nel caso dei file di scambio, almeno dovrebbe esistere qualche interazione del driver fs.
Peter - Ripristina Monica il

Upvoted. Questa dovrebbe essere la risposta accettata in quanto è l'unica che afferma che il kernel accede direttamente ai blocchi del disco utilizzati per lo scambio.
Anthony Geoghegan,
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.