GNU/Linux >> Linux Esercitazione >  >> Linux

Come aggiungere spazio di swap in Linux

Oltre alla RAM c'è un cosiddetto Swap, che è una memoria virtuale, in cui il contenuto della RAM (pagine) può essere scambiato nel caso in cui non ci sia più RAM sufficiente. Questo scambio si trova sul disco e poiché la lettura e la scrittura del disco sono più lente della lettura dalla RAM, l'accesso alle pagine di memoria comporterà un ritardo. Oltre alla creazione di filesystem, gli amministratori Linux devono anche prestare molta attenzione all'utilizzo e alle esigenze dello scambio. Il post descrive 3 modi per aggiungere spazio di swap ai sistemi Linux:

1. aggiunta della partizione di swap
2. aggiunta del volume di scambio
3. aggiunta del file di scambio

1. Aggiunta della partizione di swap

1. Esegui fdisk o separato utilità per identificare i dischi con spazio su disco sufficiente inutilizzato (non partizionato). Crea una nuova partizione di tipo swap (82) . Ad esempio:

# fdisk /dev/sdb
.....
Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-652, default 1):
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-652, default 652): +1G

Assicurati di modificare il tipo di partizione su 82 (Linux swap / Solaris) e di salvare la tabella delle partizioni alla fine.

Command (m for help): t
Selected partition 1
Hex code (type L to list codes): 82
Changed system type of partition 1 to 82 (Linux swap / Solaris)

Command (m for help): w
The partition table has been altered!

2. Esegui il comando mkswap contro il dispositivo/partizione creato in precedenza utilizzando fdisk/parted. Facoltativamente -L può essere utilizzato per impostare ETICHETTA sulla partizione di swap.

# mkswap -L swap1 /dev/sdb1
Setting up swapspace version 1, size = 1060252 KiB
LABEL=swap1, UUID=f0a884c9-59b3-47d2-9f06-5884f6a33806

3. Modificare il file /etc/fstab per montare il nuovo dispositivo di scambio all'avvio.

vi /etc/fstab
/dev/sdb1               swap                    swap    defaults        0 0

4. Eseguire il comando swapon per abilitare tutti i dispositivi di scambio elencati nel file /etc/fstab e verificare lo scambio aggiunto utilizzando "swap -s".

# swapon -a
# swapon -s
Filename				Type		Size	 Used	Priority
/dev/sdb1               partition	1060248	 0	    -1

1. Aggiunta del volume di scambio

1. Possiamo anche aggiungere il volume LVM come spazio di scambio. Per farlo, dobbiamo creare un volume in uno qualsiasi dei gruppi di volumi esistenti.

# vgs
  VG         #PV #LV #SN Attr   VSize  VFree
  vg_geeklab   1   1   0 wz--n- 19.51g 1.94g
# lvcreate -L 1G -n lv_swap vg_geeklab
  Logical volume "lv_swap" created
# ll /dev/mapper/vg_geeklab-lv_swap
lrwxrwxrwx. 1 root root 7 Oct 22 19:36 /dev/mapper/vg_geeklab-lv_swap -> ../dm-1

2. Esegui il comando mkswap sul volume e opzionalmente etichettalo usando l'opzione -L.

 mkswap -L swap /dev/mapper/vg_geeklab-lv_swap
mkswap: /dev/mapper/vg_geeklab-lv_swap: warning: don't erase bootbits sectors
        on whole disk. Use -f to force.
Setting up swapspace version 1, size = 1048572 KiB
LABEL=swap, UUID=6d228d34-b67e-4e38-82d4-f068c7bc097e

4. Per fare in modo che la voce di scambio persista tra i riavvii, inserire una voce nel file /etc/fstab.

# vi /etc/fstab
/dev/mapper/vg_geeklab-lv_swap	swap                    swap    defaults        0 0

5. Infine, abilita lo scambio usando il comando swapon che a sua volta legge il file /etc/fstab per le voci di scambio.

# swapon -a
# swapon -s
Filename				Type		Size	 Used	Priority
/dev/dm-1               partition	1048568	 0	    -1

3. Aggiunta del file di scambio

1. Nel caso in cui non sia rimasto spazio libero su disco per creare una nuova partizione, possiamo anche utilizzare il file come swap. Per farlo, usa il comando dd per creare un file della dimensione richiesta.

# dd if=/dev/zero of=/root/swapfile01 bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 6.73334 s, 159 MB/s

2. Ho creato il file di scambio nella directory /root per renderlo più sicuro poiché l'utente normale non può accedere a quella directory. Per rendere più sicuro applicare le autorizzazioni appropriate al file.

# chmod 600 /root/swapfile01

3. Eseguire il comando mkswap per convertire il file in un file di scambio.

# mkswap -L swap01 /root/swapfile01
Setting up swapspace version 1, size = 1048572 KiB
LABEL=swap01, UUID=ba5f7163-43f6-4001-84c1-2fca3935301f

4. Modificare il file /etc/fstab per aggiungere il nuovo file di scambio.

# vi /etc/fstab
/root/swapfile01        swap                    swap    defaults        0 0

5. Eseguire il comando swapon per abilitare tutti i dispositivi di scambio elencati nel file /etc/fstab.

# swapon -a
# swapon -s
Filename				Type		Size	 Used	Priority
/swap/swapfile01                        file		1048568	0	-1

Rimozione dello scambio

Nel caso in cui desideri rimuovere lo scambio aggiunto, puoi farlo con il comando swapoff. Assicurati di rimuovere la rispettiva voce di scambio dal file /etc/fstab dopo aver disabilitato lo scambio.

# swapoff -a    ### this will remove all swap(s) mentioned in .etc.fstab
# swapoff /dev/sdb1    ### to remove individual swap

Come controllare l'utilizzo di swap

Per verificare l'utilizzo dello scambio, puoi utilizzare una delle seguenti utilità:
1. gratuito

# free
             total       used       free     shared    buffers     cached
Mem:       1004608     934036      70572          0      30124     769640
-/+ buffers/cache:     134272     870336
Swap:      1060248          0    1060248

2. /proc/meminfo

# grep Swap /proc/meminfo
SwapCached:            0 kB
SwapTotal:       1060248 kB
SwapFree:        1060248 kB

3. in alto

# top
.......
Mem:   1004608k total,   934780k used,    69828k free,    30124k buffers
Swap:  1060248k total,        0k used,  1060248k free,   770156k cached
.......

4. vmstat

# vmstat
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 1  0      0  69828  30124 770156    0    0    40   403   23   22  0  1 99  0  0


Linux
  1. Come creare o aumentare lo spazio di scambio in Linux

  2. Come aggiungere spazio di scambio in Ubuntu 18.04

  3. Come aggiungere spazio di scambio su Debian 11

  4. Come aggiungere spazio di scambio su Ubuntu 22.04

  5. Quanto spazio di scambio aggiungere per Oracle Database su Linux

Come estendere lo spazio di scambio utilizzando il file di scambio in Linux

Come aggiungere spazio di scambio su Debian 10

Come aggiungere spazio di scambio su Ubuntu 20.04

Come aggiungere spazio di scambio su Debian 11

Come aggiungere e configurare lo spazio di scambio su Ubuntu Linux

Come controllare lo spazio di scambio in Linux