Come modificare il valore di Swappiness

Turgut K.Linux2 mesi fa89 Visite

Cos’è Swappiness?

swappiness indica il valore in percentuale rimasto sulla RAM prima di usare il file di swap. Swappiness è un parametro del kernel Linux che controlla il peso relativo dato allo swapping della memoria runtime, in contrapposizione all’eliminazione delle pagine dalla cache delle pagine di sistema. Swappiness può essere impostato su valori compresi tra 0 e 100 inclusi.

Swappiness controlla quanto sia assertivo il meccanismo di swapping. Lo swapping sposta le pagine di memoria inattive dalla memoria fisica alla memoria di swap su un disco (in un file di swap o in una partizione di swap). Il processo mira a bilanciare i dati nella RAM e utilizza lo spazio di swap quando la memoria fisica raggiunge i suoi limiti.

Il valore di swappiness è un numero compreso tra 0 e 200. Valori più bassi indicano uno swapping minore, mentre valori più alti indicano uno swapping aggressivo. Quando la memoria fisica è bassa, il valore di swappiness indirizza la decisione del kernel per lo swapping delle pagine.

I candidati ideali per lo swapping sono le pagine inattive o a cui si accede raramente. Il processo libera spazio RAM, dando priorità ai processi più attivi.

Swappiness e Swap

Il parametro swappiness influenza il modo in cui avviene lo swap e l’utilizzo dello spazio di swap. Quando i processi effettuano lo swap fuori dalla RAM, si spostano nello spazio di swap. Lo spazio è un’estensione della memoria fisica e aiuta a liberare spazio nella RAM. Lo spazio di swap ha una dimensione specifica e determina la quantità di dati che un sistema può scambiare. Una volta che i processi nella RAM sono completi e liberano memoria, i processi scambiati tornano nella RAM. La swappabilità non controlla la dimensione dello spazio di swap, ma influenza invece i limiti e la frequenza dello swapping.

A quanto devo impostare lo Swappiness?

La scelta del miglior valore di swappiness dipende da molti fattori diversi, come:

  • Configurazione del sistema.
  • Carico di lavoro.
  • Memoria.
  • Requisiti prestazionali.

Valori di swappiness più bassi danno priorità al mantenimento dei dati nella RAM. Scegli un valore più basso per i sistemi che hanno abbondante memoria fisica. Ridurre al minimo la frequenza di swapping riduce la frequenza delle operazioni di I/O del disco. In questo caso, un valore di swappiness più basso è vantaggioso.

D’altro canto, valori di swappiness più alti determinano uno swapping assertivo. I sistemi con memoria fisica limitata e carichi di lavoro che trovano vantaggioso lo swapping frequente traggono vantaggio da valori di swappiness più alti. La procedura assicura che lo spazio RAM si liberi frequentemente per i processi attivi.

Poiché swappiness determina il rapporto di swapping tra pagine file-backed e pagine anonime, il numero determina un compromesso tra le due. Quando swappiness è massimo, le pagine anonime e file-backed hanno le stesse priorità di swapping, mentre quando swappiness è 0, le pagine file-backed ottengono la priorità.

La tabella seguente fornisce esempi di valori di swappiness e del loro effetto:

Valore di swappinessEffetto swappiness
0Il valore indica al kernel di evitare il più possibile la situazione di swap.
10-50Il valore indica al kernel di essere leggermente aggressivo nello scambio di pagine di memoria.
50-100Il valore indica al kernel di essere moderatamente aggressivo nello scambio di pagine di memoria.
>100Valori più alti indicano al kernel di essere molto aggressivo nello scambio di pagine di memoria.

Monitora le prestazioni del sistema, l’uso della memoria e le modifiche incrementali per determinare il miglior valore di swap per l’impostazione specifica. La modifica dello swap non richiede un riavvio del sistema.

Come controllare il valore di Swappiness

Ci sono due modi per controllare il valore di swappiness su un sistema Linux. Entrambi i metodi richiedono l’accesso al terminale e forniscono le stesse informazioni sul valore di swappiness corrente.

Utilizzare il comando cat per controllare il contenuto del file /proc/sys/vm/swappiness. Immettere quanto segue nel terminale:

cat /proc/sys/vm/swappiness

L’output mostra un numero compreso tra 0 e 200.

Controllo del parametro sysctl

In alternativa, utilizzare il comando sysctl per controllare il vm.swappinessvalore del parametro:

sysctl vm.swappiness

L’output mostra vm.swappiness=[valore], dove [valore]è un numero compreso tra 0 e 200.

Come modificare il valore di Swappiness

Per cambiare il valore di swappiness su un sistema Linux sono necessari privilegi di amministratore. I passaggi variano a seconda che la modifica sia temporanea o che il valore persista dopo il riavvio.

Per modificare temporaneamente la swappiness, impostare vm.swappinessil valore desiderato con quanto segue:

sudo sysctl vm.swappiness=[valore]

In alternativa, per far sì che le modifiche persistano dopo il riavvio, aprire il file /etc/sysctl.conf utilizzando un editor di testo:

sudo nano /etc/sysctl.conf

Aggiungere il valore come segue:

vm.swappiness = [valore]

Salvare il file e chiudi.

Dopo aver letto questa guida, saprai cos’è il valore di swappiness, come funziona e come regolarlo. La messa a punto precisa di swappiness in Linux può migliorare le prestazioni del sistema. Tuttavia, il compito non è semplice e richiede tentativi ed errori.

3 Votes: 2 Upvotes, 1 Downvotes (1 Points)

Lascia una risposta

Post precedente

Post successivo

Follow
Registrazione Barra laterale Ricerca Aggiungi link o post
Articoli popolari
Caricamento

Accesso in corso 3 secondi...