GNU/Linux >> Linux Esercitazione >  >> Linux

Come funziona la memoria di scambio in Linux?

Per capire cos'è la memoria di scambio in Linux, daremo un'occhiata al concetto di RAM e come reagisce il sistema Linux quando la RAM raggiunge la sua capacità massima.

Con il tema della memoria, è abbastanza comune imbattersi in menzioni di RAM e spazio di scambio. In questo tutorial, discutiamo di RAM e memoria di scambio per capire perché la memoria di scambio in Linux è così essenziale.

Impostazione del contesto...

A volte, puoi notare che il tuo sistema diventa lento mentre lavori. Questo di solito accade a causa della memoria fisica o della RAM utilizzata alla sua capacità massima.

Questo è qualcosa che vogliamo evitare, poiché l'indisponibilità di spazio RAM può causare tempi di attesa I/O elevati e una ridotta reattività del sistema. Per contrastarlo, il sistema utilizza lo spazio di scambio. Aiuta a garantire che il sistema non esaurisca la memoria fisica del tuo sistema.

Come viene utilizzata la RAM?

La RAM o la memoria ad accesso casuale è la parte più importante di qualsiasi dispositivo digitale. Questo pezzo di hardware è dove vengono archiviati tutti i dati attualmente utilizzati da un processore.

Questa posizione di memoria può essere letta molto più velocemente dal processore rispetto ad altre posizioni come HDD o SSD.

A causa della sua natura volatile, la RAM memorizza solo i dati attualmente utilizzati. Non appena un sistema viene spento, perde tutta la memoria che è stata memorizzata su di esso. Pertanto, utilizziamo dispositivi di archiviazione come HDD, SSD o unità ottica per archiviare in modo permanente tutti i dati richiesti.

Ma questi dispositivi di archiviazione ci aiutano anche in altri casi. Uno di questi casi è quando la RAM si sta avvicinando alla piena capacità e non può contenere tutti i dati richiesti contemporaneamente.

Questo ci porta al concetto di memoria di scambio in Linux.

Capire la memoria di scambio in Linux

La memoria di scambio in Linux viene utilizzata per impedire l'overflow dei dati nella RAM in caso di carico elevato del sistema. Questo aiuta a evitare che il sistema non risponda a causa della mancanza di memoria. Garantisce inoltre che le applicazioni o i processi non incontrino errori di "memoria insufficiente".

Come funziona la memoria di scambio?

In termini di memoria, una pagina è un blocco fisso di spazio di memoria. I blocchi di dati che occupano la RAM lo fanno sotto forma di queste pagine.

Nel caso in cui la memoria RAM si avvicini al limite, il sistema operativo deve dare la priorità ai processi che possono utilizzare questa memoria. Pertanto, il sistema operativo seleziona i vecchi dati o processi che potrebbero essere inattivi per liberare la RAM.

Questi dati vengono quindi scritti in una sezione predefinita del dispositivo di archiviazione ROM sul sistema. Questa sezione è nota come "spazio di scambio".

Questa funzione della memoria di scambio in Linux consente al sistema operativo di mantenere sempre sufficiente spazio libero nella RAM. Successivamente, queste pagine vengono "scambiate" con quelle memorizzate nella RAM quando necessario.

Perché la memoria di scambio è importante?

Lo spazio RAM è una risorsa preziosa. È richiesto per tutti i processi. La memoria di scambio in Linux consente al sistema operativo di bilanciare le risorse disponibili. Questo, a sua volta, si traduce in un funzionamento efficiente del tuo sistema.

I dati archiviati nella memoria di scambio in Linux richiedono più tempo per l'accesso rispetto a quelli archiviati nella RAM. Tuttavia, questo non causa alcun problema.

Tutti i dati scritti nella memoria di scambio vengono caricati nuovamente nella RAM non appena è libera, oppure i dati sono necessari per un processo in corso. Ciò rende la memoria di scambio in Linux una soluzione affidabile per prevenire qualsiasi eccezione di memoria insufficiente per i processi in esecuzione sul nostro sistema.

Nota: È un dettaglio essenziale da tenere presente che la memoria di scambio è consigliata solo per i sistemi che utilizzano unità disco rigido meccaniche.

Nel caso di sistemi che utilizzano unità a stato solido, è stato osservato che la creazione di partizioni di memoria di scambio causa il degrado dell'hardware a lungo termine. Ciò riduce la durata del tuo SSD e potrebbe rischiare un errore di memoria.

Come controllare l'allocazione della memoria di swap del tuo sistema?

Per la maggior parte dei sistemi, è comune imbattersi in un termine noto come "memoria virtuale" nelle proprietà della memoria. La memoria virtuale è lo spazio sul sistema che è uguale alla somma della RAM e della memoria di scambio in Linux.

Quasi tutti i moderni sistemi Linux dichiarano una partizione di swap per impostazione predefinita per prevenire situazioni di overflow della memoria.

Pertanto, potrebbe essere essenziale per un utente Linux controllare l'allocazione della memoria virtuale e di scambio sul proprio sistema. Questo può aiutarti a decidere se desideri aumentare o ridurre la partizione di swap secondo le tue esigenze.

Per controllare l'allocazione e l'utilizzo della memoria virtuale totale sul tuo sistema, digita il seguente comando nel tuo terminale.

free -h

Come mostrato nello screenshot sopra, questo mostra la RAM totale disponibile e la memoria di scambio.

Mostra anche la quantità di memoria utilizzata al momento e la quantità di memoria libera disponibile per il sistema.

Nota a margine: Ho dichiarato esplicitamente uno scambio dello 0% per il mio server Linux poiché è un ambiente di test e non ha bisogno dello spazio di scambio.

Se desideri semplicemente trovare la dimensione della partizione di swap sul tuo sistema, puoi utilizzare la riga di comando per visualizzare il contenuto del file di configurazione di swap memorizzato in /proc/swaps usando il gatto comando:

cat /proc/swaps

Come accennato in precedenza, non ho lo spazio di scambio configurato sul mio sistema, ma puoi eseguire questo comando per visualizzare lo spazio di scambio configurato per il tuo sistema.

Conclusione

In qualsiasi sistema, poche risorse sono anche vicine all'importanza dello spazio RAM. Con l'aiuto della memoria di scambio, i sistemi possono sfruttare al meglio le risorse disponibili senza compromettere molto le prestazioni.

Questo meccanismo funziona silenziosamente in background per garantire un'esperienza fluida agli utenti anche in caso di sessioni di carico elevato.

Ci auguriamo che, attraverso questo tutorial, tu sia stato in grado di sviluppare una buona comprensione della RAM, insieme al concetto di memoria di scambio in Linux.


Linux
  1. Come cancellare la cache di memoria in Linux

  2. Come creare un file di scambio in Linux

  3. Ssh – Come funziona Tcp-keepalive in Ssh?

  4. ZFS sotto Linux, funziona?

  5. Come funziona l'allocazione dello stack in Linux?

Come cancellare la memoria di scambio in Linux

Come disabilitare permanentemente lo scambio in Linux

Linux:come funziona il display di Linux?

Come controllare lo spazio di scambio in Linux

Come disabilitare lo scambio in Linux

Come funziona il display di Linux?