Come posso creare un file di scambio?


11

So come creare e utilizzare una partizione di swap ma posso anche usare un file?

Come posso creare un file di scambio su un sistema Linux?

Risposte:


18

Sia chiaro, che c'è un piccolo overhead quando si tratta di un file invece di una partizione.

Inoltre, io stesso ho su diverse macchine un file di scambio su mdadmRAID, quindi c'è ancora un altro sovraccarico. Ma se ti adegui vm.swappinesssaggiamente a un valore più accettabile di 60, che è l'impostazione predefinita, non dovresti avere problemi.

Ad esempio, ho un server RAM da 32 GB con file di scambio da 32 GB su RAID6 con vm.swappiness= 1. Citando Wikipedia:

vm.swappiness = 1: versione del kernel 3.5 e successive, nonché versione del kernel Red Hat 2.6.32-303 e successive: quantità minima di scambio senza disabilitarla del tutto.

In questo esempio, creiamo un file di scambio:

  • 8 GB di dimensione

  • Situato in /raid1/

Cambia queste due cose in base alle tue esigenze.

  1. Apri terminale e diventa root( su); se hai sudoabilitato, puoi farlo anche per esempio sudo -i; vedi man sudoper tutte le opzioni):

    sudo -i
    
  2. Allocare spazio per il file di scambio:

    dd if=/dev/zero of=/raid1/swapfile bs=1G count=8
    

    Facoltativamente, se il sistema lo supporta, è possibile aggiungere status=progressa quella riga di comando.

    Si noti che la dimensione qui specificata Gè in GiB (multipli di 1024).

  3. Modifica le autorizzazioni del file di scambio, in modo che solo questo rootpossa accedervi:

    chmod 600 /raid1/swapfile
    
  4. Rendi questo file un file di scambio:

    mkswap /raid1/swapfile
    
  5. Abilita il file di scambio:

    swapon /raid1/swapfile
    
  6. Verifica se il file di scambio è in uso:

    cat /proc/swaps
    
  7. Apri un editor di testo con cui sei abile con questo file, ad esempio nanose non sei sicuro:

    nano /etc/fstab
    
  8. Per rendere questo file di scambio disponibile dopo il riavvio, aggiungere la seguente riga:

    /raid1/swapfile        none        swap        sw        0        0
    
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.