GNU/Linux >> Linux Esercitazione >  >> Linux

Quanto swap dovresti usare in Linux?

Quanto dovrebbe essere la dimensione dello scambio? Lo scambio dovrebbe essere il doppio della dimensione della RAM o dovrebbe essere la metà della dimensione della RAM? Ho bisogno di uno scambio se il mio sistema ha diversi GB di RAM?

Forse queste sono le domande più frequenti sulla scelta della dimensione di scambio durante l'installazione di Linux.

Non è niente di nuovo. C'è sempre stata molta confusione sulla dimensione dello scambio.

Per molto tempo, la dimensione di scambio consigliata è stata il doppio della dimensione della RAM, ma quella regola d'oro non è più applicabile ai computer moderni. Abbiamo sistemi con dimensioni RAM fino a 128 GB, molti vecchi computer non hanno nemmeno così tanto disco rigido.

Ma quale dimensione di scambio assegneresti a un sistema con 32 GB di RAM? 64 GB? Sarebbe un ridicolo spreco di disco rigido, vero?

Prima di vedere quanta dimensione di swap dovresti avere, per prima cosa sappiamo rapidamente una cosa o due sulla memoria di swap. Questo ti aiuterà a capire perché viene utilizzato lo scambio.

La spiegazione è stata semplificata per la comprensione (quasi) di tutti.

Cos'è lo scambio? Quando viene utilizzato lo scambio?

Il tuo sistema utilizza la memoria ad accesso casuale (ovvero RAM) quando esegue un'applicazione. Quando ci sono solo poche applicazioni in esecuzione, il tuo sistema gestisce con la RAM disponibile.

Ma se ci sono troppe applicazioni in esecuzione o se le applicazioni richiedono molta RAM, il tuo sistema si mette nei guai. Se un'applicazione necessita di più memoria ma l'intera RAM è già in uso, l'applicazione andrà in crash.

Swap agisce come uno sfiato per il tuo sistema quando la RAM è esaurita. Quello che succede qui è che quando la RAM è esaurita, il tuo sistema Linux utilizza parte della memoria del disco rigido e la alloca all'applicazione in esecuzione.

Sembra fantastico. Ciò significa che se allochi come 50 GB di dimensioni di scambio, il tuo sistema può eseguire centinaia o forse migliaia di applicazioni contemporaneamente? SBAGLIATO!

Vedi, qui la velocità conta. Dati di accesso alla RAM nell'ordine dei nanosecondi. Un SSD accede ai dati in microsecondi mentre come un normale disco rigido accede ai dati in millisecondi. Ciò significa che la RAM è 1000 volte più veloce dell'SSD e 100.000 volte più veloce del solito HDD.

Se un'applicazione fa troppo affidamento sullo scambio, le sue prestazioni si degraderanno poiché non può accedere ai dati alla stessa velocità che avrebbe nella RAM. Quindi, invece di impiegare 1 secondo per un'attività, potrebbero essere necessari diversi minuti per completare la stessa attività. Lascerà l'applicazione quasi inutile. Questo è noto come thrashing in termini informatici.

In altre parole, un piccolo scambio è utile. Molto non sarà di alcuna utilità.

Perché è necessario lo scambio?

Ci sono diversi motivi per cui avresti bisogno di uno scambio.

  • Se il tuo sistema ha una RAM inferiore a 1 GB, devi utilizzare lo swap poiché la maggior parte delle applicazioni esaurirebbe presto la RAM.
  • Se il tuo sistema utilizza applicazioni ad alto consumo di risorse come editor video, sarebbe una buona idea utilizzare un po' di spazio di swap poiché la tua RAM potrebbe essere esaurita qui.
  • Se usi l'ibernazione, devi aggiungere lo swap perché il contenuto della RAM verrà scritto nella partizione di swap. Ciò significa anche che la dimensione dello scambio dovrebbe essere almeno la dimensione della RAM.
  • Evita strani eventi come un programma che va fuori di testa e mangia RAM.

Hai bisogno di uno scambio se hai molta RAM?

Questa è davvero una buona domanda. Se hai 32 GB o 64 GB di RAM, è probabile che il tuo sistema non utilizzerà mai l'intera RAM e quindi non utilizzerà mai la partizione di swap.

Ma vuoi cogliere l'occasione? Immagino che se il tuo sistema ha 32 GB di RAM, dovrebbe anche avere un disco rigido da 100 GB. Allocare un paio di GB di swap non farà male. Fornirà un ulteriore livello di "stabilità" se un programma difettoso inizia a utilizzare in modo improprio la RAM.

Puoi usare Linux senza swap?

Sì, puoi, soprattutto se il tuo sistema ha molta RAM. Ma come spiegato nella sezione precedente, un po' di scambio è sempre consigliabile.

In effetti, una distribuzione come Ubuntu crea automaticamente un file di scambio di 2 GB di dimensione. Questo dovrebbe darti un'indicazione che è consigliabile disporre di un po' di spazio di scambio.

Non preoccuparti se non hai creato una partizione di swap durante l'installazione di Linux. Puoi sempre creare file di scambio in Linux in qualsiasi momento.

Lettura consigliata

I file di scambio ti consentono di creare e utilizzare lo spazio di scambio al volo in Linux. Puoi facilmente crearli, ridimensionarli o eliminarli secondo le tue necessità.

Ulteriori informazioni sullo scambio di file in Linux

Quanto dovrebbe essere la dimensione dello scambio?

Ora arriva la grande domanda. Quale dovrebbe essere lo spazio di scambio ideale per un'installazione di Linux?

E il problema qui è che non esiste una risposta definitiva a questa domanda sulla dimensione dello scambio. Ci sono solo consigli.

Persone diverse hanno un'opinione diversa sulla dimensione ideale dello scambio. Anche le principali distribuzioni Linux non hanno le stesse linee guida per le dimensioni di scambio.

Se segui il suggerimento di Red Hat, consigliano una dimensione di scambio del 20% della RAM per i sistemi moderni (ovvero 4 GB o più di RAM).

CentOS ha una raccomandazione diversa per la dimensione della partizione di swap. Suggerisce che la dimensione dello scambio sia:

  • Il doppio della RAM se la RAM è inferiore a 2 GB
  • Dimensione della RAM + 2 GB se la dimensione della RAM è superiore a 2 GB, ovvero 5 GB di scambio per 3 GB di RAM

Ubuntu ha una prospettiva completamente diversa sulla dimensione dello scambio poiché prende in considerazione l'ibernazione. Se hai bisogno dell'ibernazione, diventa necessario uno scambio delle dimensioni della RAM per Ubuntu.

In caso contrario, consiglia:

  • Se la RAM è inferiore a 1 GB, la dimensione dello scambio dovrebbe essere almeno la dimensione della RAM e al massimo il doppio della dimensione della RAM
  • Se la RAM è superiore a 1 GB, la dimensione dello scambio dovrebbe essere almeno uguale alla radice quadrata della dimensione della RAM e al massimo il doppio della dimensione della RAM
  • Se viene utilizzata l'ibernazione, la dimensione dello scambio dovrebbe essere uguale alla dimensione della RAM più la radice quadrata della dimensione della RAM

Confuso? So che è confuso. Questo è il motivo per cui ho creato questa tabella che ti fornirà le dimensioni di scambio consigliate da Ubuntu in base alle dimensioni della RAM e alle esigenze di ibernazione.

Dimensione RAM Cambia dimensione (senza ibernazione) Cambia dimensione (con ibernazione)
256 MB 256 MB 512 MB
512 MB 512 MB 1 GB
1 GB 1 GB 2 GB
2 GB 1 GB 3 GB
3 GB 2 GB 5 GB
4 GB 2 GB 6 GB
6 GB 2 GB 8 GB
8 GB 3 GB 11 GB
12 GB 3 GB 15 GB
16 GB 4 GB 20 GB
24 GB 5 GB 29 GB
32 GB 6 GB 38 GB
64 GB 8 GB 72 GB
128 GB 11 GB 139 GB

Quanta dimensione di scambio usi?

La risposta non è mai semplice. Come ho affermato in precedenza, per molto tempo è stato consigliato che lo swap abbia una dimensione doppia della RAM. In effetti, la mia edizione Ubuntu Dell XPS 13 ha 16 GB di dimensione di scambio per 8 GB di RAM. Quindi anche Dell ha deciso di seguire la regola d'oro di swap=2xRAM.

Quale dimensione di scambio preferisci per il tuo sistema Linux?



Linux
  1. Come usare BusyBox su Linux

  2. Come uso cron in Linux

  3. Tre comandi Linux che non dovresti mai usare

  4. Quanta RAM utilizza il kernel?

  5. Quanto deve essere grande la partizione di swap?

Come usare il comando Disown in Linux

Come utilizzare il comando SS di Linux

Come utilizzare Linux Time Command:tutto ciò che devi sapere

7 motivi per cui uso Manjaro Linux e dovresti farlo anche tu

Come creare e utilizzare file di scambio su Linux

Come cancellare la cache di memoria RAM e il buffer e lo spazio di scambio su Linux