Quale file system è swap su Linux


14

In Linux puoi scegliere cose come ext3 e reiserfs per le partizioni. Per la partizione di swap, basta scegliere "swap". Che file system è questo, in realtà? Puoi semplicemente creare una partizione ext3 e renderla una partizione di swap? Come sarebbe diverso?


Il filesystem Swap su Linux sembra essere chiamato filesystem Swap Linux. Se riesco a trovare alcune informazioni reali a riguardo, posterò una risposta. Finora, ho letto da en.wikipedia.org/wiki/Paging che il kernel ignora il filesystem sui file di scambio. Lo stesso può valere per le partizioni di swap.
AndrejaKo

1
Le persone incredibili dei forum Gentoo mi hanno fornito questo link! Tutto sembra essere ben spiegato. Oh e grazie a John R. Graham.
AndrejaKo

Risposte:


26

Swap non è un vero file system. È solo una parte riservata del disco che è una memoria indirizzabile grezza senza una struttura speciale.

mkswap crea un'intestazione per l'area di scambio con alcune informazioni aggiuntive. Da swapheader.h del pacchetto util-linux-ng:

struct swap_header_v1 {
    char         bootbits[1024];    /* Space for disklabel etc. */
    unsigned int version;
    unsigned int last_page;
    unsigned int nr_badpages;
    unsigned int padding[125];
    unsigned int badpages[1];
};

La versione di intestazione 1 è quella attualmente utilizzata. Questo è tutto sulla magia dietro la struttura grezza dello swap.


Non è necessario un tipo di file system per leggere e scrivere qualcosa di significativo in una partizione?
tony_sid,

5
No. Devi solo occuparti di pezzi di memoria. Questo è esattamente ciò che sono le pagine. Questo perché non si memorizzano i dati con una struttura complessa o informazioni aggiuntive come nei filesystem reali dove autorizzazioni e date sono archiviate insieme ai dati.
Matthias Krull,

6
Puoi comunque indirizzare i blocchi se non hai un filesystem.
Matthias Krull,

8

Penso che la partizione di swap non abbia bisogno di un filesystem perché non contiene file e directory. La partizione di swap è il posto della RAM virtuale.


2
non è esattamente il posto di ariete virtuale. è (come ram) memoria che può essere mappata alla memoria virtuale di un processo.
Matthias Krull,

4

Linux ha due forme di spazio di swap: la partizione di swap e il file di swap. La partizione di swap è una sezione indipendente del disco rigido utilizzata esclusivamente per lo scambio; nessun altro file può risiedere lì. Il file di scambio è un file speciale nel filesystem che risiede tra il tuo sistema e i file di dati.

Lo scambio è necessario per due motivi importanti. Innanzitutto, quando il sistema richiede più memoria di quella fisicamente disponibile, il kernel scambia le pagine meno utilizzate e fornisce memoria all'applicazione (processo) corrente che necessita immediatamente della memoria. In secondo luogo, un numero significativo delle pagine utilizzate da un'applicazione durante la sua fase di avvio può essere utilizzato solo per l'inizializzazione e quindi non essere più utilizzato. Il sistema può scambiare quelle pagine e liberare la memoria per altre applicazioni o anche per la cache del disco.


2
La risposta è davvero piacevole e spiega il nocciolo del problema, ma è una risposta alla domanda "Cos'è lo swap su GNU / Linux?" Quindi cosa ci fa qui? Inoltre, link correlate linux.com/news/software/applications/…
AndrejaKo

So cos'è lo swap.
tony_sid,

... non sapeva dell'opzione swap-file
MrCalvin

-1

Esistono due modi per creare spazio di scambio: scambio di filesystem e dispositivo (o raw). Con lo scambio di filesystem, si crea un file su un filesystem e lo si utilizza come spazio di swap (proprio come si vedrebbe su Windows con pagefile.sys). Con lo scambio di dispositivi, si passa a una partizione creata appositamente per lo scambio.

Che è migliore:

Questo dibattito era molto più interessante ai vecchi tempi perché:

Perché lo scambio di dispositivi è "migliore": poiché si passa a una partizione non elaborata, è più veloce perché non è necessario gestire l'overhead aggiuntivo di un filesystem con inode e altri overhead del filesystem

Oggi, tuttavia, questo argomento non è valido. Con l'evoluzione di quanto sia veloce l'accesso al disco in questi giorni, lo scambio di dispositivi non ti fa guadagnare molto più tempo dello scambio di filesystem.

Perché lo scambio di filesystem è "migliore": molto più facile cambiare le dimensioni. Quando si modificano le dimensioni della partizione, è molto più difficile che creare semplicemente nuovi file.

Oggi, tuttavia, con molte persone che usano LVM invece di partizioni non elaborate, è facile ridurre e aumentare lo spazio di swap

OGGI è ancora più controverso: la maggior parte dei server in questi giorni per motivi di prestazioni vale il costo solo per riempirlo di memoria. (Questo dibattito era molto più popolare quando la RAM era più difficile da trovare ed era comune mettere solo 4 GB a 8 GB di RAM in un server)

PERCHÉ USO FILESYSTEM SWAP (e lo scambio in generale)

In questi giorni istruisco i nostri ragazzi a installare con 4gig swap onl e usiamo la stessa configurazione / immagine per tutte le nostre installazioni di Linux. L'installazione di Oracle richiede un maggiore utilizzo dello swap, quindi per i sistemi che avranno Oracle I creerà il resto con lo scambio del filesystem. È possibile che l'applicazione possa avere un requisito di scambio, nel qual caso è possibile aggiungerla successivamente con lo scambio del filesystem.

questo aiuta?

Ho istruzioni dettagliate su come farlo in Linux qui: http://geekswing.com/geek/how-to-add-filesystem-swap-on-linux-and-unix-systems/


1
“Oggi, tuttavia, questo argomento non è valido. Con l'evoluzione di quanto sia veloce l'accesso al disco in questi giorni, lo scambio di dispositivi non ti fa guadagnare molto più tempo dello scambio di filesystem. ”- Questo non è il motivo. L'idea qui è che lo spazio di swap possa essere richiesto immediatamente . Passare attraverso un file system coinvolge directory, blocchi, inode, cache buffer, ecc. Che sono codepath che a loro volta possono aver bisogno di più memoria, portando a un ciclo. Ecco perché lo swap viene eseguito al meglio su un dispositivo a blocchi non elaborati. Evita anche la frammentazione del file di scambio.
mirabilos,
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.