Ci saranno momenti in cui è necessario aumentare la capacità di risposta del server per evitare problemi di memoria insufficiente. Problemi di memoria insufficiente si verificano quando un'applicazione in esecuzione sul server inizia a consumare una grande quantità di memoria. Swap è progettato come memoria virtuale , che utilizza l'hard disk per archiviare dati che non possono essere conservati nella RAM. Questo tutorial ti mostrerà come creare un file di scambio, che dovrebbe funzionare su Ubuntu, CentOS e Debian. Questo tutorial non è pensato per alcun ISO personalizzato, ma è possibile seguirlo.
Passaggio 1: verificare che lo scambio non esista
Per evitare problemi durante questa esercitazione, è necessario eseguire quanto segue per verificare che uno spazio di scambio non sia attualmente attivo:
free -m
Dopo aver eseguito quel comando dovresti vedere qualcosa di simile a questo output:
total used free shared buffers cached
Mem: 1840 1614 226 15 36 1340
-/+ buffers/cache: 238 1602
Swap: 0 0 0
Se vedi un valore di 0
nella Swap
sezione, puoi procedere al passaggio 2.
In alternativa, è possibile eseguire il comando seguente per vedere se esiste un file di scambio configurato:
swapon -s
Se non vedi alcun output da swapon
, quindi vai al passaggio 2.
Passaggio 2: creare il file di scambio
Dovrai scegliere una posizione per il tuo file. In questo tutorial, verrà archiviato nella radice del server. Creeremo un file di scambio da 2 GB eseguendo il comando seguente:
dd if=/dev/zero of=/swapfile count=2048 bs=1M
Il dd
comando produrrà output in un formato simile a:
2048+0 records in
2048+0 records out
2147483648 bytes (2.1 GB) copied, 10.5356 s, 204 MB/s
Successivamente, verifica che il file si trovi nella radice del tuo VPS Vultr eseguendo:
ls / | grep swapfile
Procedi se vedi il swapfile
file.
Passaggio 3: attivare il file di scambio
I file di scambio non vengono riconosciuti automaticamente. Dovremo dire al server come formattare il file e abilitarlo in modo che possa essere utilizzato come file di scambio valido. Come misura di sicurezza, aggiorna le autorizzazioni del file di scambio per consentire solo R / W per root e nessun altro utente. Correre:
chmod 600 /swapfile
La modifica dell'autorizzazione può essere verificata eseguendo il comando seguente:
ls -lh /swapfile
Vedrai un display di file:
-rw------- 1 root root 2.0G Oct 2 18:47 /swapfile
Quindi, dire al server di configurare il file di scambio eseguendo:
mkswap /swapfile
Dopo averlo eseguito, vedrai il seguente output:
Setting up swapspace version 1, size = 2097148 KiB
no label, UUID=ff3fc469-9c4b-4913-b653-ec53d6460d0e
Se tutto è mostrato come sopra, ora sei pronto per passare al passaggio successivo.
Passaggio 4: attiva lo scambio
Una volta che il file è pronto per essere utilizzato come scambio, è necessario abilitarlo eseguendo:
swapon /swapfile
È possibile verificare che il file di scambio sia attivo eseguendo free
nuovamente il comando.
free -m
total used free shared buffers cached
Mem: 1840 1754 86 16 23 1519
-/+ buffers/cache: 210 1630
Swap: 2047 0 2047
Se Swap
mostra qualcosa di diverso da 0
, hai impostato correttamente lo scambio.
Passaggio 5: abilitare lo scambio al riavvio
Per impostazione predefinita, il tuo server non abiliterà automaticamente questo nuovo file di scambio. Per abilitarlo all'avvio, è possibile aggiornare il /etc/fstab
file. Qualsiasi editor di testo sarà sufficiente. In questo esempio, userò nano
.
nano /etc/fstab
Aggiungi la seguente riga alla fine del file:
/swapfile none swap sw 0 0
Salva e chiudi quando hai finito di modificare il file. Abbiamo finito!