Cosa c'è di nuovo?
HWReload

Registrati e partecipa alle attività del forum

GUIDA File di paging di Windows

Liupen

Moderatore
Staff
Iscritto dal:
23 Dicembre 2017
Messaggi
533
FILE DI PAGING

Un File di paging (o swap file) è un file di sistema nascosto facoltativo su un disco (HDD o SSD): pagefile.sys

Dal punto di vista hardware la memoria disponibile viene dalla RAM di sistema ma può anche essere utilizzato ogni device capace di questa caratteristica (immagazzinare dati), quindi anche dal disco (HDD o SSD).

WINDOWS, indipendentemente dall’hardware in cui è installato, gestisce la memoria in maniera autonoma; la memoria disponibile per il sistema operativo è chiamata MEMORIA VIRTUALE.

La Memoria Virtuale del sistema operativo è un concetto astratto su cui opera Windows, trasformando poi lo spazio astratto in allocazione di memoria fisica. La MEMORIA VIRTUALE è quindi considerata accorpando la quantità di memoria della RAM di sistema + eventuale memoria resa disponibile su disco/dischi.

Il FILE DI PAGING è appunto un file (serbatoio), su disco, che contiene memoria “eventualmente” utilizzata da Windows come parte della MEMORIA VIRTUALE.

1635018976198.png

Il File di paging è attivo su Windows di default ma potrebbe essere tolto. Senza File di paging Windows sfrutta solo la RAM di sistema ed in questo caso:


1635019061253.png


Quali dati contiene il File di paging?

Sono dati raramente accessibili dalla memoria fisica (RAM), che viene “alleggerita” per consentire di farci stare dati di uso imminente e frequente.

Oltre all’uso più efficiente della memoria RAM, il File di paging è necessario per la memorizzazione di alcuni dati sia di uso proprio della Memoria Virtuale, sia delle opzioni di dump (arresto anomalo di sistema). In mancanza di attivazione del File di paging, questi dati non vengono salvati.

Questo perché il File di paging, anche in caso di arresto anomalo del sistema, non viene cancellato come invece succede a tutti i dati presenti sulla RAM che è una memoria di tipo volatile.



Quali sono i vantaggi di avere un File di paging attivo?

Un aspetto è quello descritto poc’anzi: nel disco sono salvati sia i dati sull’uso stesso della Memoria Virtuale, sia i file di registro eventualmente utili alla diagnostica.

Con il File di paging attivo la RAM viene svuotata di dati meno importanti, aumentandone la capienza a favore della ottimizzazione.

Fino a quando la Memoria Virtuale NON supera la capacità della memoria fisica (RAM), i dati contenuti nel file di paging sono secondari e il loro scambio con la RAM (lo scambio tra disco e RAM e molto più lento della velocità della RAM stessa), è un fattore trascurabile, poco importante.

Quando e se, però, la Memoria Virtuale utilizzata SUPERA la dimensione della RAM ed in caso NON sia attivo il File di paging, avviene senza ombra di dubbio un BSoD (crash di Windows).

Nel caso invece il File di paging fosse ATTIVATO, la RAM e il disco iniziano a trasferire dati tra loro, portando Windows a rallentare fortemente, ma senza BSoD.

In caso si disponga di poca RAM rispetto all’uso che si fa del proprio PC, avere un File di paging attivo, consente di avere un paracadute che evita blocchi al Sistema Operativo.



Quali sono gli svantaggi di avere un File di paging attivo?

In caso si disponga di molta RAM, rispetto all’uso del proprio PC, che si sia attivato il File di paging oppure no, non fa differenza. Avere molta RAM comporta il fatto di non raggiungere mai il limite di saturazione e quindi il processo di scambio di dati essenziali tra RAM e disco.

Con il File di paging disattivato non si hanno i servizi descritti sopra e c’è una minore efficienza di uso della RAM. Finché è disponibile memoria RAM non ci sono problemi o crash di applicazioni o giochi.

Con il File di paging ATTIVATO, in caso di PC con molta RAM, l’uso della paginazione non rallenta ne migliora le funzioni di Windows, ne delle applicazioni o dei giochi, poiché l’ottimizzazione maggiore della gestione della RAM si perde con la maggiore risorsa richiesta alla CPU nel gestire un servizio di interscambio memoria in più.

Nel caso di PC con poca RAM rispetto alla richiesta eccessiva di Memoria Virtuale, avere il File di paging ATTIVATO è un grandissimo vantaggio anche se Windows nella sua gestione rallenta molto. Con poca RAM e paginazione DISATTIVATA, va da se che è una catastrofe.

In tutti i casi NON ci sono svantaggi nell’avere il File di paging ATTIVATO.

NB. Non considero uno svantaggio, il “consumo” dell’SSD quando il File di paging è attivato su questo: il mio parere è che gli SSD come un qualsiasi device sono da usarsi senza parsimonia al 100% delle proprie caratteristiche. Se poi avete una considerevole quantità di RAM, probabilmente la paginazione sarà di pochi MB per sessione.



Come si gestisce la Memoria Virtuale, e meglio disattivare il file di paging, farlo gestire da Windows o altro, cosa e dove guardare?

In virtù di quanto esposto sopra, 2 sono gli elementi da considerare:

  • di quanta Memoria Virtuale solitamente il vostro PC ha bisogno
  • quanta RAM è installata
Il primo elemento dipende dall’uso fatto del PC. Generalizzando un PC home- entertainment usato blandamente non ha grandi richieste di Memoria Virtuale, neanche quando si aprono tante pagine web, ma un gamer ha una richiesta di Memoria Virtuale estrema… tanto per portare due esempi.

Il secondo elemento è semplicemente constatare quanta RAM ha il vostro PC; sapendo bene che appunto, un gamer o un professionista di grafica, deve averne adeguatamente.

Di seguito vediamo come monitorare la quantità di Memoria Virtuale richiesta all’hardware ed eventualmente capire quanta di questa è su RAM oppure su paginazione.




FUNZIONE: “TASK MANAGER” (ENG) / “GESTIONE ATTIVITA’” (ITA)

(DA RICHIAMARE MEDIANTE SCRITTURA SULLA BARRA DI RICERCA)
1635019408735.png
ESEMPIO: NOTEBOOK CON GRAFICA INTEGRATA CON 8 GB DI RAM CON VISUALIZZAZIONE APPLICAZIONI E MOLTE PAGINE WEB – FILE DI PAGING ATTIVO SU C (SSD NVMe)

1635019473730.png

Il Task Manager riporta sia un grafico che i dati di uso della memoria, sia fisica che virtuale.

Sopra il grafico potete vedere quanta RAM avete installata (in questo caso 8 GB), ed in basso quanti moduli ci sono, di che tipo e con quale frequenza lavorano.

Troverete anche una quantità di RAM riservata per la grafica (ovviamente massima priorità di allocazione) o comunque opzionata dalla CPU come memoria preferenziale per il funzionamento dell’hardware.

In basso a sinistra il Task Manager è suddiviso in tre linee di testo.

Quella in alto si riferisce alla RAM, il dato XX/YY si riferisce alla MEMORIA VIRTUALE, gli altri tre valori si riferiscono a come Windows gestisce quella porzione di Memoria Virtuale dedicata al suo funzionamento.

Definizioni:

MEMORIA VIRTUALE IN USO o VINCOLATA - indica la quantità di memoria virtuale riservata. La memoria riservata è la memoria per la quale viene riservato spazio, oltre che su memoria fisica (RAM) nei file di paging del disco. Ogni unità fisica può contenere uno o più file di paging. Questo contatore indica solo l'ultimo valore osservato, non una media.

MEMORIA VIRTUALE TOTALE DISPONIBILE o Limite memoria riservata - indica la quantità di memoria virtuale che può essere riservata senza estendere i file di paging. È misurata in byte. La memoria riservata è la memoria per la quale è stato riservato spazio nei file di paging del disco. Può esistere un solo file di paging per ogni unità logica. Se i file di paging devono essere espansi, questo limite aumenta proporzionalmente. Questo contatore indica solo l'ultimo valore osservato, non una media.

CACHE RISERVATA RAM - - indica la quantità di memoria fisica immediatamente disponibile per l'allocazione a un processo o l'utilizzo da parte del sistema. Equivale alla memoria complessiva assegnata alle pagine nella cache, libere e azzerate.


1635019587377.png


Io ho fatto uno screen della situazione normale, ma occorre monitorare questi dati sotto stress del PC e sul lungo periodo per avere i corretti valori di uso della memoria “di picco”.

Nel caso in esame la RAM di sistema è utilizzata per il 60% della capienza (4,5 su 7,6 GB) e di quei 3,1 GB liberi, Windows considera 2,8 GB disponibili e opzionati per il File System e applicazioni (accesso diretto RAM), se avanzano GB sono definiti “liberi” e possono essere usati - previa cancellazione.

Quindi in questo caso, Windows assorbe e prenota circa 7,3 GB (4,5+2,8) non molto sotto il mio limite di RAM (7,6 GB), una situazione - questa – in cui la disattivazione del File di paging non è certo consigliata.

Se dovessi aprire un’applicazione che richiedono più dei MB che Windows mi lascia a disposizione, (RAM libera disponibile si abbassa sotto la Cache riservata della RAM) Windows trasferirà, finchè possibile, dati dalla RAM al File di paging.

Però, come detto, Windows ragiona in termini di Memoria Virtuale e non fisica. Per il funzionamento del File System, delle applicazioni e per tenere in memoria i dati utente, il sistema operativo stima un fabbisogno di memoria (Memoria Virtuale massima) di 11,1 GB.

I 5,9 GB sono in effetti il dato da monitorare MEMORIA VIRTUALE IN USO O VINCOLATA; questi sono la richiesta di memoria nell’istante in cui viene misurata e non si riferisce solo alla RAM, ma anche ad eventuale paginazione.

Attenzione a capire bene questo punto, 5,9 GB è la memoria che Windows reputa necessaria in quel momento (RAM o RAM+File di paging), ma non è il File di paging.

Per sapere la grandezza del File di paging occorre andare in "proprietà avanzate di sistema" e leggere la voce: ATTUALMENTE ALLOCATA = File di paging

1635020551083.png

Ma il File di paging non dimentichiamoci che è un file "serbatoio" di dati, uno spazio occupato si, ma fino all'esaurimento della RAM, riempito solo di dati per una grandezza inferiore alla sua capienza.

Quando un'applicazione richiede per la prima volta di utilizzare una certa quantità di memoria, Windows si assicura che possa adattarsi da qualche parte, nel file di paging o nella memoria. Ciò non significa che molta memoria occupi la memoria fisica effettiva o lo spazio del file di paging. Significa solo che Windows riserva questo spazio nel limite di commit totale, nel caso venga utilizzato. Viene utilizzata la memoria più richiesta, ma non tutta.



Nella situazione normale:

MEMORIA VIRTUALE IN USO O VINCOLATA < RAM

Il Task Manager, nel mio esempio, ci dice che in caso di richiesta di molta più memoria, Windows ha allocato complessivamente 3,5 GB di File di paging (11,1-7,6 GB) per una capienza complessiva di 11,1 GB di Memoria Virtuale disponibile (tutta la RAM + i 3,5 GB di File di paging).


1635019989036.png

Windows, di default, gestisce un File di paging dinamico da 16 MB ad una grandezza fino a tre volte la memoria fisica o, a seconda delle dimensioni, 4GB, ma non più di un ottavo delle dimensioni del volume del disco, quando il carico di Memoria Virtuale richiesta raggiunge il 90% del limite della RAM occupata. Ciò presuppone che sia disponibile spazio su disco sufficiente per contenere la crescita:

RAM occupata oltre il 90% della capienza à File di paging massimo = 4GB (sistemi a 32bit) oppure 3x RAM o 1/8 capienza volume disco

Nel mio caso quei 11,1 GB di Memoria Virtuale possono crescere (lo decide Windows) a seconda delle richieste fatte, appunto fino a 3x8= 24 GB oppure
1635020100198.png
fino 1/8 dello spazio libero su C: (dove ho il File di paging)

Se non sono presenti File di paging, il limite del sistema (vedi: Memoria Virtuale Totale disponibile) è leggermente inferiore alla memoria fisica installata. L'utilizzo massimo della memoria vincolata dal sistema può variare notevolmente da un sistema all'altro. Di conseguenza, anche il ridimensionamento della memoria fisica e del File di paging varia.

Pertanto, assicurati di impostare il limite di Memoria Virtuale Totale del sistema, in modo che sia sufficientemente alto da supportare la carica di Memoria Virtuale in uso del sistema durante l'utilizzo di picco.



Uno dei problemi nella gestione del File di paging da parte di Windows, è la dimensione (o sovra-dimensione). Il sistema operativo crea un file di dimensioni molto maggiore del necessario e ne usa una quantità maggiore di quanto farebbe se avessimo impostato delle misure personalizzate e certamente se lo avessimo tolto ;)

Ecco un esempio:

1635020198065.png

Dalla voce “attualmente allocata” si vede come Windows ecceda nel creare subito un contenitore (File di paging) grande 3,5 GB. La personalizzazione frena l’allocazione della misura massima, lasciandola solo all’effettivo raggiungimento del 90% della capienza della RAM.

Cosa comporta un File di paging sovradimensionato anche in condizione “normale”?

  • Comporta un uso maggiore del disco (aspetto negativo)
  • Comporta un uso maggiore di risorse (aspetto negativo)
  • Comporta uno swich molto più rapido in caso di uso del file di paging (aspetto positivo).
Associamo questi aspetti a situazioni reali come possono essere un PC di lavoro, un PC da gaming o professionale, un PC datato (meno di 4 GB di RAM).

Siamo nella condizione:

MEMORIA VIRTUALE IN USO O VINCOLATA > RAM

Mettiamo un PC di lavoro che si trovi a superare i limiti di RAM e dover allocare in File di paging improvvisamente.

Innanzitutto è sconsigliato che il File di paging sia disattivato. Visto che solitamente un PC da lavoro è ancora per la maggior parte su HDD, allora l’uso del disco non rappresenta un fattore negativo, come è meglio uno swap più rapido per non perdere tempo in freeze eccessivi.

In questa situazione il File di paging gestito dal sistema è la soluzione migliore.

In un PC da gaming con molte risorse e molta RAM è difficilissimo che si arrivi alla situazione di crisi per cui debba intervenire il File di paging.

Un File di paging piccolo o grande non influisce sulle prestazioni.

Per PC datato intendo un old PC (HDD e poca RAM). In questo caso l’elemento importante sono il consumo di risorse ma anche la fluidità. Quest’ultima, in una macchina che fa certamente uso di swap, porta a dire che su questi PC la gestione del File di paging da parte di Windows è la decisione migliore.





Esiste un contatore del File di paging?

Si.
Ed i metodi sono più di uno. Quì ne illustro due.
L'obbiettivo è quello di tenere d'occhio quanta memoria virtuale richiede il PC, se e quanta paginazione avviene ed infine valutare se può essere consigliabile, aggiungere RAM.
Il come gestire il File di paging è trattato invece al successivo punto
Occorre attivare il set di “Performance Monitor”.

Andare sulla voce Performance Monitor. Clicca Aggiungi contatori dal menu in alto (icona verde).

Dall'elenco Contatori disponibili, seleziona: File di paging (Total).

1635020355084.png


I valori riportati come si vede sono due: il paging in uso e il picco % massimo.

Davvero utile se, impostato il File di paging attivo, si vuole monitorare l’utilizzo o in caso di freeze se la causa possa essere la cattiva gestione del File di paging



Ad esempio:

1635020418175.png

Vuol dire che su 7 GB di memoria vincolata (File di paging) solo 778 MB sono realmente dati pieni nel File di paging (6,847% di 11,1 GB)… un contenitore al momento quasi vuoto.
In effetti nel mio notebook, fino a quando non vado a richiedere risorse (vedi esempio dopo), la paginazione si limita a poca cosa
Altro esempio di monitoraggio, utilizzando un altro software da scaricare alla pagina https://filehippo.com/it/download_treesize_free/

Si tratta di TreeSize un'utile applicazione che rende facile la gestione dello spazio su disco, fornendo una visione accurata di quanto spazio occupa un determinato gruppo di file sul computer.
Avviare dall'icona in modalità Amministratore.

Apriamo anche "Monitoraggio Risorse"
Questa parte di Monitoraggio Risorse ci indica anche graficamente quante volte facciamo ricorso alla paginazione.

Si deve guardare l'ultimo grafico a destra "Errori hardware al secondo":



1635241912906.png
Se vedete ripetersi dei picchi come in questo caso, state facendo uso del File di paging (cioè entrano dati nel File di paging che, avete capito, già c'è se è attivato).
Quando vedete i picchi e sentite rallentamenti hardware allora è tempo di pensare ad aumentare la RAM oppure se non l'avete già fatto, utilizzare un SSD per metterci un File di paging.

Facciamo un esempio sempre prendendo lo stesso PC notebbok con File di paging attivo e gestito dal sistema.
Ho dovuto caricarlo un po per fare in modo che avvenisse un po di paginazione della memoria:

1635344699510.png

Come sempre immaginiamo di aver preso lo screen durante un picco di uso di memoria.
Breve riassunto di quanto detto in precedenza:
Ho 8 GB di RAM (7,6 GB per Windows)

La Memoria (Virtuale) valutata necessaria da Windows nel momento che ho catturato l'immagine è di 7,5 GB.
E' una memoria astratta, infatti ora sappiamo che piò essere necessaria ma potrebbe anche essere stimata in eccesso per far fronte alle esigenze dell'immediato futuro.
Avendo il File di paging attivo - l'abbiamo visto prima - so che è andato ad occuparmi 3,5 GB di spazio su SSD.

Di sicuro è che ho 5 GB di RAM occupata fisicamente (+ 2, 6 GB pronti in caso servano Disponibile=Cache).
Il fatto che ho spazio sulla voce Cache però so che NON vuol dire che la RAM mi stà bastando, ma vuol dire che Windows ha liberato spazio mettendo dati meno importanti nel disco in modo da lasciare, comunque, spazio libero su RAM.
In basso a destra di Monitoraggio Risorse infatti, vedo che il picco d'uso di memoria mi ha fatto usare la paginazione.
Scoprendo quanti dati entrano nel File di paging, riesco a capire:
  1. quanto mettere come dimensione massima il File di paging se lo voglio impostare personalizzato e senza avere problemi
  2. quanta RAM in più mi servirebbe per non avere più quei fastidiosi freeze (se vi succede)

Aprendo TreeSize e monitorando il riempimento del File di paging nei momenti di picco

1635344623473.png

Nel momento di picco il mio notebook ricorre al paging fino a 1,8 GB di dati (53.2% di 3,5 GB)

Vuol dire che per non ricorrere alla paginazione che rallenta il mio notebook, dovrei avere 2 GB di RAM in più oppure avere un File di paging su SSD con dimensione massima già superiore ai 2 GB (infatti ho un File di paging adeguato visto che non posso mettere 2Gb di memoria fisica aggiuntiva)



Come impostare nel modo giusto il File di paging?

Il controllo del settaggio del File di paging si ottiene scrivendo nella barra di ricerca: “impostazioni di sistema avanzate”. Da li cliccate su Avanzate à Memoria Virtuale à Cambia.




Le “Regole per la paginazione”:


Regola n. 1 – L’impostazione del File di paging è opzionale, già questo dovrebbe farvi capire che il suo uso o meno non altera in condizioni normali (quantitativo di RAM superiore a 4 GB) le prestazioni di Windows e delle applicazioni.


Regola n. 2 – Se avete meno di 4 GB di RAM, tenete sempre ATTIVATO il File di paging gestito dal sistema.


Regola n. 3 – Con qualsiasi quantità di RAM, è sempre preferibile tenere attivo il File di paging, piuttosto che disattivarlo: non ne risentono le prestazioni e non avrete BSoD per mancanza di memoria. Inoltre alcune applicazioni lo richiedono.


Regola n. 4 – E’ sempre preferibile attivare il File di paging sul disco più veloce (SSD). Controllate quindi che non sia di default attivo proprio sull’HDD secondario aprendo il set di impostazioni:

Non badate a chi dice che l’SSD si consuma …a meno che siete di quelli che lasciano l’auto anche in garage perché pure quella si consuma ;)

Scrivete sulla barra di ricerca: “visualizza impostazioni di sistema avanzate”

Quindi cliccate su Impostazioni à Avanzate à Cambia

1635020632192.png


Togliendo la spunta da “Gestisci automaticamente dimensioni file di paging per tutte le unità”, potrete cliccare su “Imposta” ovvero la funzione che permette di scegliere in quale/quali Volumi mettere il File di paging (ricordo che è un file nascosto di sistema). Impostare SOLO sull’SSD più capente e veloce.


Regola n. 5 – Su HDD il File di paging più veloce si ottiene impostando uno spazio FISSO
1635020701721.png
impostare lo stesso numero in MB in entrambe le caselle... ma quale valore?

Monitorate il picco massimo di MEMORIA VIRTUALE IN USO O VINCOLATA ed impostate questo valore (trasformato in MB; ad esempio se è 5,9 GB come nel mio caso, la dimensione iniziale/massima del File di paging da impostare è 6042 MB).

Ricordatevi che state impostando un File di paging su HDD, dove il tempo di ricerca delle testine è relativamente alto anche se tenete lo spazio del file di paging in uno spazio contiguo sequenzialmente (a questo serve impostarlo fisso). Impostare una dimensione massima troppo alta potrebbe avere effetti negativi sulle prestazioni complessive del sistema. Questo perché, come abbiamo già detto, i tempi di lettura e scrittura sulla memoria virtuale nel disco rigido sono più alti rispetto alla lettura della RAM. Di conseguenza un file di paging di dimensioni troppo elevate aggiungerebbe lavoro extra al disco rigido rallentando le prestazioni.


Regola n. 6 – Su un SSD il File di paging fisso è inutile: toglie spazio su disco e non si hanno migliorie nelle prestazioni. L’SSD legge e scrive in modo casuale con latenza molto bassa (diversamente da un HDD) quindi è veloce anche se lo spazio del File di paging risultasse frammentato.


Regola n. 7 – Se leggete che mettendo una dimensione di File di paging personalizzata o la ricetta segreta per cui il PC va più veloce… si raccontano storie. Il File di paging come precedentemente detto, c’è, ma piccolo o grande che sia, contiene pochi MB di dati. Quando e se il File di paging arriva a contenere file importanti per Windows o le applicazioni (o i giochi)… beh …ve ne accorgete da un rallentamento visibile. La scarsità di memoria in questi casi è comunque sempre preceduta da un avviso di Windows:

1635020760564.png
 

Allegati

  • 1635335849392.png
    1635335849392.png
    229.7 KB · Visualizzazioni: 194
Ultima modifica:
Top