La memoria virtuale aiuta il sistema, ma non sostituisce la RAM
- Windows usa principalmente il file pagefile.sys.
- Linux ricorre a una partizione o a un file di swap.
- La memoria virtuale evita alcuni arresti per mancanza di RAM, ma può rendere il computer molto più lento.
- Su Windows conviene lasciare, nella maggior parte dei casi, la gestione automatica.
- Su Linux è utile controllare swapon, spazio disponibile e valore di swappiness.

Che cos’è davvero la memoria virtuale
Ogni applicazione riceve dal sistema operativo uno spazio di indirizzi virtuali. Il kernel decide quali pagine, cioè piccoli blocchi di memoria, devono restare nella RAM e quali possono essere spostate temporaneamente su un’unità di archiviazione.
Quando una pagina richiesta non si trova più nella memoria fisica, avviene un page fault. Il sistema la recupera dal disco e la rimette in RAM. Il meccanismo è trasparente per i programmi, ma il disco è molto più lento della memoria: per questo il computer può continuare a funzionare, pur diventando poco reattivo.
Io considero la memoria virtuale una rete di sicurezza, non un potenziamento della RAM. Può impedire che un’applicazione venga chiusa subito quando la memoria è sotto pressione, ma non rende più veloce il montaggio video, il gaming o l’uso di macchine virtuali.Windows e Linux usano soluzioni simili, ma non identiche
Su Windows il componente più noto è pagefile.sys, un file di sistema normalmente nascosto nella partizione principale. Il sistema lo usa per sostenere la memoria impegnata, gestire alcune pagine inattive e, in determinate configurazioni, creare i file necessari all’analisi di un arresto anomalo.
Su Linux la funzione equivalente è svolta dalla swap. Può essere una partizione dedicata oppure un normale file, soluzione oggi molto pratica perché si può ridimensionare senza ripartizionare l’intero disco. Alcune distribuzioni usano anche zram, che comprime pagine in una porzione della RAM prima di ricorrere al disco.
| Caratteristica | Windows | Linux |
|---|---|---|
| Soluzione tipica | File pagefile.sys | Partizione o file di swap |
| Gestione consigliata | Automatica, salvo esigenze specifiche | Dipende da distribuzione e carico di lavoro |
| Parametro rilevante | Dimensione e posizione del pagefile | Dimensione, priorità e swappiness |
| Rischio principale | Espansione lenta o poco spazio sul disco | Swap eccessiva o assente durante picchi di memoria |
La differenza pratica è importante. Windows tende a nascondere la complessità dietro una gestione automatica, mentre Linux offre più controllo. In entrambi i casi, però, il principio resta lo stesso: spazio su disco in cambio di velocità.
Come configurare il pagefile su Windows senza fare danni
Per modificare la configurazione si può aprire Impostazioni di sistema avanzate, entrare nelle opzioni delle prestazioni, selezionare la scheda Avanzate e poi la sezione dedicata alla memoria virtuale. Da qui si può lasciare a Windows la gestione delle dimensioni oppure scegliere valori personalizzati.
Quando lasciare la gestione automatica
Per un normale PC con Windows 10 o Windows 11, la scelta automatica è generalmente quella che farei anch’io. Il sistema adatta il file alla memoria installata, al consumo effettivo e alle esigenze dei dump di sistema, evitando di applicare formule rigide come “RAM moltiplicata per 1,5”.
Serve anche spazio libero sufficiente. Se il disco è quasi pieno, Windows potrebbe non riuscire ad ampliare rapidamente il file durante un picco di memoria. In casi particolari questa crescita ritardata può causare errori di allocazione, anche quando sulla carta esiste ancora spazio virtuale.
Quando valutare una dimensione fissa
Una dimensione iniziale e massima fissa può avere senso su workstation che eseguono carichi prevedibili, oppure quando l’espansione automatica provoca errori o latenze. Non la imposterei però alla cieca: controllerei prima il picco di memoria impegnata nel Gestione attività e lascerei un margine realistico.
Il valore dipende dall’uso. Un computer con 32 GB di RAM dedicato alla navigazione difficilmente richiede lo stesso spazio di una workstation che esegue più macchine virtuali. Per un dump completo della memoria, Microsoft indica una dimensione almeno pari alla RAM fisica più circa 257 MB, mentre i dump automatici o del kernel possono richiedere meno spazio.
Spostare il file su un altro disco può essere utile solo se quel disco è realmente più adatto e sempre disponibile. Su un SSD moderno la differenza rispetto alla posizione predefinita spesso è modesta; disattivarlo del tutto, invece, può creare problemi con alcuni programmi e con la raccolta dei dump.
Come controllare e gestire la swap su Linux
Su Linux partirei sempre da una verifica, non da una modifica. Il comando free -h mostra RAM e swap utilizzate, mentre swapon --show indica quali aree sono attive e quanto spazio offrono.
Se serve creare un file di swap, una procedura tipica consiste nel predisporre un file, proteggerlo con permessi riservati a root, formattarlo con mkswap e attivarlo con swapon. La configurazione va poi inserita in /etc/fstab se si vuole mantenerla dopo il riavvio.
Per esempio, su un sistema dedicato a sviluppo e container, una swap da 4 o 8 GB può essere un margine ragionevole, ma non esiste una misura universale. Per l’ibernazione serve invece abbastanza swap da conservare il contenuto della RAM, quindi la dimensione va valutata in base alla memoria installata e alla configurazione della distribuzione.
Leggi anche: Privilegi di amministratore in Windows 10 - guida pratica
Il significato di swappiness
Il parametro vm.swappiness indica quanto il kernel è propenso a usare la swap rispetto alla memoria libera e alla cache dei file. Un valore più basso tende a ritardare il ricorso al disco, ma non significa “disattivare la swap” e non è automaticamente migliore in ogni scenario.
Io eviterei di trasformare swappiness in una gara al valore più basso. Su un database, un desktop e un server con container il comportamento ottimale può cambiare, perché conta il tipo di accesso alla memoria, la velocità dell’unità e il margine di RAM realmente disponibile.
Quando la memoria virtuale aiuta e quando segnala un problema
Un certo uso della swap o del pagefile è normale. I sistemi operativi possono spostare dati poco utilizzati per mantenere libera la RAM per cache e applicazioni attive. Il problema nasce quando si osserva attività continua di lettura e scrittura sul disco insieme a blocchi, applicazioni lente e tempi di risposta elevati.
In quel caso il sistema è probabilmente in thrashing, cioè passa più tempo a spostare pagine tra RAM e disco che a eseguire il lavoro richiesto. Aumentare il file non risolve la causa: può soltanto ritardare il momento in cui la memoria finisce di nuovo.
- Chiudi le applicazioni che consumano memoria senza motivo.
- Controlla browser, macchine virtuali, container e software di editing.
- Verifica se un processo cresce continuamente, possibile segnale di memory leak.
- Lascia spazio libero sul disco, soprattutto sull’unità che ospita la memoria virtuale.
- Considera un aggiornamento della RAM quando il carico abituale supera stabilmente la memoria disponibile.
Un esempio concreto è un portatile con 8 GB di RAM usato per browser, videoconferenze e applicazioni grafiche. Una swap attiva può evitare il blocco completo, ma se il sistema scrive continuamente sul disco la soluzione reale è ridurre il carico oppure passare a 16 GB di RAM, quando l’hardware lo consente.
Gli errori più comuni nella gestione
Il primo errore è eliminare completamente il file o la swap pensando di guadagnare prestazioni. Si recupera spazio, ma si riduce il margine operativo e alcuni programmi possono fallire quando chiedono più memoria virtuale di quella fisicamente presente.
Il secondo è applicare la vecchia regola della dimensione pari a 1,5 volte la RAM. Può produrre file inutilmente grandi su computer moderni con 32 o 64 GB di memoria. Preferisco osservare il comportamento reale e considerare anche eventuali requisiti di dump.
Il terzo errore è confondere la memoria virtuale con la compressione della RAM. La compressione, disponibile in forme diverse su Windows e Linux, cerca di conservare più dati nella memoria fisica. La swap e il pagefile coinvolgono invece l’archiviazione e hanno costi di latenza molto maggiori.Infine, non userei strumenti di “ottimizzazione” che promettono di svuotare la RAM con un clic. Spesso cancellano cache utili e obbligano il sistema a ricaricare dati poco dopo. La memoria libera non è sempre memoria ben utilizzata.
La regola pratica da applicare al proprio computer
Su Windows lascerei il pagefile in gestione automatica, controllando soltanto spazio libero, attività del disco e memoria impegnata. Su Linux manterrei una swap adeguata al carico e verificherei il comportamento con strumenti come free, swapon e i monitor di sistema.
La memoria virtuale deve offrire continuità nei momenti di pressione, non diventare il luogo in cui il computer lavora ogni giorno. Se la swap o il pagefile sono usati sporadicamente, la configurazione probabilmente sta facendo il suo lavoro; se il disco è costantemente coinvolto, la decisione più efficace è quasi sempre intervenire su carico, applicazioni o quantità di RAM.