Come cambio la partizione di swap in Linux?


12

Come cambio la partizione di swap in Linux? Se attualmente uso / dev / hda3 per lo scambio e preferirei usare / dev / hda4, quali passaggi devo seguire?


1
vale probabilmente la pena creare una partizione logica / dev / hda5 nella partizione primaria / dev / hda4 e usarla per lo scambio. In questo modo, non devi spendere l'intero / dev / hda4 per lo scambio e puoi creare altre partizioni logiche al suo interno
dmityugov

Risposte:


25

Fallo come root:

swapoff /dev/hda3
mkswap /dev/hda4
swapon /dev/hda4

e modifica la voce di swap in / etc / fstab


13

Se disponi di una discreta quantità di RAM e le tue applicazioni non richiedono molta memoria, potresti considerare di utilizzare un file separato come scambio anziché l'intera partizione. In questo modo puoi facilmente selezionare la quantità di spazio di swap che usi, aggiungendo più file di swap o ridimensionando quelli esistenti.

Supponiamo che il file di swap risieda nella directory principale come /swapfilee abbia dimensioni 512 MB. Per crearlo emettere i comandi come root:

$ dd if=/dev/zero of=/swapfile bs=1M count=512
$ mkswap /swapfile
$ swapon /swapfile

Per usarlo automaticamente dopo il riavvio, inserire /etc/fstab:

/swapfile    none    swap    defaults    0 0

Aggiungere più file di scambio è semplice come creare più file ( /swapfile1, /swapfileX), formattarli utilizzando mkswape abilitare l'utilizzo swapon. Se si desidera disabilitare un file di scambio, è possibile utilizzare il comando swapoff /swapfile.

Per quanto riguarda le prestazioni tra disco e versione del file, non è molto diverso. Puoi anche usare swapfile come disco di ibernazione nei laptop (anche se uso sempre una partizione separata per quello).


swapfile non è una buona idea, perché ext4 è super SLOW un SSD per le frequenti procedure di scrittura. Questo è il motivo per cui per impostazione predefinita Linux swap ha un file system diverso. Il modo corretto sarebbe ridimensionare la tabella delle partizioni per creare una partizione di swap più grande.
Evalds Urtans,

9

Al volo:

sudo swapoff /dev/hda3
sudo mkswap /dev/hda4
sudo swapon /dev/hda4

Per bootime, dopo aver eseguito mkswap, modifica il file / etc / fstab e cambia di conseguenza la riga / dev / hda3.


4

Dovrai formattare / dev / hda4 come swap, che a mio avviso elimina solo le tabelle del file system, quindi modifica / etc / fstab e punta lo swap su / dev / hda4. Quindi riavvia e dovresti essere bravo. Inutile dire che perderai tutti i dati su / dev / hda4. Puoi usare gparted come interfaccia grafica per la formattazione.


1
Non è necessario riavviare Linux 2.6.x dopo aver formattato una partizione, nemmeno dopo aver modificato la tabella delle partizioni del disco.
drybjed

Buon punto, ma ero fedele alla filosofia KISS.
skitzot33,

@ skitzot33 L' avvio non è più semplice dell'avvio ?
glglgl,

2

La soluzione di Mateusza è ok, ma lo stato potrebbe non essere richiamato quando si riprende dal letargo. Sono necessarie alcune operazioni aggiuntive:

# prepare your partitions
swapoff /dev/sda2
mkswap /dev/sda3
swapon /dev/sda3

# find swap uuid
sudo blkid | grep swap
# OR
sudo echo ls -l /dev/disk/by-uuid | grep sda3 |  cut -d' '  -f8 >> /etc/fstab

# edit swap entry in /etc/fstab
gksu gedit /etc/fstab

# edit the uuid line in /etc/initramfs-tools/conf.d/resume
gksu gedit /etc/initramfs-tools/conf.d/resume

# In terminal, execute this command
sudo update-initramfs -u

puoi testare il tuo letargo qui, se non funziona:

# check your /etc/default/grub file
gksu gedit /etc/default/grub

# Depending on your version : if a line looks like
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash resume=UUID=<old_swap_partition_uuid>"
# then modify it accordingly; otherwise that's all, you're done

# execute in terminal
sudo update-grub

tratto da askubuntu

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.