Cancellare il File di Paging rende più lenti o più sicuri?

Giorgio Borelli

Azzerare il file di paging all'arresto del sistemaIl file di paging è una porzione del disco fisso dedicata all'uso della memoria virtuale. La memoria virtuale (VMM) consente di assegnare ai programmi e far credere loro di avere più memoria di quella fisica (RAM) installata sulla macchina.

Il funzionamento della VMM che sfrutta il file di paginazione è veramente ingegnoso, in pratica il sistema della memoria virtuale monitora la RAM e controlla i programmi che hanno celle di memoria allocate ma non usate, in altre parole programmi in esecuzione ma non attivi, non usati, in questo caso alloca i dati fermi sulla RAM sul disco fisso (nel file di paging), liberando così memoria e rendendola disponibile ai programmi che ne fanno richiesta.

Davvero bella questa memoria virtuale, però mentre la RAM è volatile e cancella tutti i suoi dati, i dati sul disco fisso invece persistono allo spegnimento, questo correlato al funzionamento del file di paging può portare ad un potenziale problema di sicurezza. La situazione si aggrava se il file di paging non viene cancellato durante lo spegnimento.

Andiamo a scoprire quali vantaggi e quali svantaggi comporta la cancellazione o meno del file di paging.

L'operazione della memoria virtuale che sposta i dati sul file di paging viene detta swapping (infatti si sente chiamarlo spesso come file di swap o file di swapping). Molte volte mi è capitato di leggere e sentire trucchi e suggerimenti che invitano a non sovrascrivere con degli zero il file di paging durante l'arresto del sistema, col fine di aumentare la velocità di spegnimento del sistema il quale ovviamente non viene impegnato in detta operzione di sovrascrittura.

Questo è sicuramente vero, evitare di cancellare il file di paging allo spegnimento aumenta sicuramente la velocità di arresto, per ottenere ciò, dobbiamo agire sul registro di sistema cambiando il valore della seguente chiave:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management

 

Cancellare il file di paging allo spegnimento del PC impostando ad 1 il valore della chiave del registroAdesso dobbiamo cambiare il valore della chiave "ClearPageFileAtShutdown"  facendogli doppio click di sopra, a questo punto vi si apre la finestra che vedete in figura, impostate il valore ad "1" per sovrascrivere con degli zeri il file di paging durante lo spegnimento, o mettete "0" per evitarlo ed aumentare la velocità di arresto, riaviare il sistema per rendere effettive le modifiche.

Non cancellare il file di paging quindi aumenta le performance del nostro sistema permettendogli di arrestarsi più velocemente, questo però potrebbe compromettere la nostra sicurezza? Come? Supponiamo che un programma che è in esecuzione sul nostro PC stia trattando dei dati sensibili, quali password, dati di carte di credito e simili, se la gestione della memoria virtuale accantona questi dati dalla RAM al file di paging e questo non viene azzerato allo spegnimento del PC, ci ritroviamo con password e dati non crittografati sul disco fisso.

Certo accedere il lettura al file di paging con il sistema operativo in esecuzione non è possibile, però nel caso in cui si accede al disco caricandolo da un'altro sistema allora il problema di sicurezza delle nostre informazioni da potenziale diventa reale.

La velocità con cui il file di paging viene cancellato dipende molto dall'hardware della macchina, la sceltà però di orientarsi verso la sicurezza o la velocità dovrebbe essere dettata di più dall'importanza delle informazioni che i nostri programmi trattano.

 A mio avviso, anche visto e considerato le prestazioni dei moderni computer, sceglire di settare ad 1 la chiave del registro Memory Management per cancellare il file di paging è la soluzione da preferire.

 

Chiunque voglia aggiungere qualcosa in merito all'argomento, porre una domanda o dare un suggerimento, ogni commento è ben accetto.

Categorie: Sicurezza Informatica | Windows

Tags:

Commenti (4) -

Cosimo Meli
Cosimo Meli says:

Ciao, avrei una personalissima opinione su Windows e lo swapping che vorrei condividere magari per sapere se è globale: secondo me Windows abusa dello swap. Ho 4 maledetti GB di RAM e me la ritrovo sempre vuota, ma ho un file di paging che assume sempre dimensioni stratosferiche, perchè? Cosa me ne faccio di 2GB (e anche di più) di RAM libera? Perchè devo continuamente leggere da disco fisso, quando potrei tranquillamente evitarlo? Perchè il file di paging si espande così tanto e non si ridimensiona in senso opposto quando non serve più? E perchè quando ho usato per 4 giorni Ubuntu (e c'ho fatto di tutto proprio per metterlo alla prova) mi ha quasi riempito la RAM e lasciato intatta la partizione di Swap? Scarsa ottimizzazione, implementazione differente o "vecchia tradizione"? O magari è solo una mia impressione alla fine Smile?

OT: Ci vorrebbe una bella aggiunta a questa piattaforma: notifica email per le risposte ai propri commenti, dato che forniamo l'indirizzo email penso sia il caso di sfruttarlo. E l'avviso per nuovo elemento aggiunto non mi pare che funzioni (almeno a me non è arrivata mai nessuna email)

Rispondi

Beh!, qui ci sarebbe da parlarne un'eternità, le scuole di pensiero sono diverse e spesso contrastanti, è indubbio che i sistemi Unix based come Linux vantano una grande efficienza ed una enorme stabilità, pregi che spesso si rimprovera Windows di non avere, e come hai avuto modo tu stesso di verificare Ubuntu ha ottimizzato al meglio l'uso della RAM presente sulla tua macchina.
Tuttavia, è bene precisare una cosa sul mondo dei S.O. Windows, questi sebbene siano famosi perchè diffusissimi tra i privati, gli uffici pubblici e le piccole aziende (diciamo nella fascia consumer), molti non sanno che Windows è apprezzatissimo per i suoi sistemi server, prova a montare un Windows Server su una macchina performante e di qualità, vedrai che i problemi tendono quasi a zero.

Ritorniamo però al tuo discorso, io non posso esprimermi con certezza su quale sistema ottimizzi al meglio l'uso della RAM e della Memoria Virtuale, e sicuramente ci sarebbe da valutare una grossa casistica. Eppure anche con Windows puoi agire in modo da regolare il file di swap secondo le tue esigenze, basta andare in:
Start->Pannello di Controllo->Sistema->Proprietà del Sistema (Tab Avanzate)->Opzioni Prestazioni (Tab Avanzate)->Memoria Virtuale (bottone Cambia)
a questo punto puoi impostare le dimensioni del file di paging in maniera personalizzata, automatica (gestita dal sistema) o nessuna per non usarlo completamente. Le dimensioni personalizzate che andrai a settare, conseguentemente influenzeranno anche l'uso della RAM che potrà essere più o meno sfruttata a seconda se aumenti o diminuisci lo swapping. Potresti fare delle piccole prove, e vederne la resa, magari poi ce ne rendi partecipi.

Anche io invito comunque i lettori a dire la loro sull'uso che fanno o meno della memoria virtuale e se usando altri sistemi, come Cosimo, hanno riscontrato prestazioni migliori nell'uso della RAM rispetto a Windows.


OT: Caro Cosimo, hai colto nel segno, sono al corrente di questa mancanza, la notifica e-mail per la risposta e/o la segnalzione pe l'aggiunta di un nuovo commento, aimè non funziona, è presente ma non và, e dire che gli ho dato un'occhiata più di una volta, sembra tutto in ordine ed in locale funziona e nel debug non genera nessuna eccezione. Purtroppo online non và, suppongo che ci sia qualche impostazione sul Provider che mi ospita che lo blocca, ma non riesco a capire bene cosa, mi riprometto non appena avrò più tempo (ne ho davvero poco) di riguardarlo con attenzione e risolvere questa grossa lacuna.

Grazie della tua segnalazione, e del tuo intervento, sempre molto appurato e fonte di nuovi spunti e approfondimenti.

Rispondi

Cosimo Meli
Cosimo Meli says:

A guarda, le ho provate tutte, sia su Xp che su Vista che su Seven:
1)Nessun File di Paging in nessuna unità => Windows se ne frega e ne fa comunque uno => buco nell'acqua.
2)File di Paging di piccole dimensioni (1GB) => RAM sempre vuota, il file si riempe e Windows comincia a chiudere applicazioni per mantenere stabile il sistema.
3)RAMDisk per il file di paging(con programmi di terze parti dim 1GB) => Prestazioni migliorate, 1GB comunque morto di RAM (che ho deciso di usare per file temporanei e cache di Chrome), il file di paging si espande continuamente aprendo diverse applicazioni e il disco virtuale si riempe (e come ho detto prima il file di swap non riduce le proprie dimensioni anche chiudendo le applicazioni). Considerazioni: idea ottima, ma è necessaria più ram e/o un RAMDisk dinamico per rendere questa soluzione fattibile. Soluzione migliore: ho abolito il paging sull'hd dove risiede il SO e ho messo un file di paging di dimensione 16-1000 MB su un'altra unità affiancato al 16-1000 del RAMDisk (che essendo in ordine alfabetico dopo l'unità fisica, viene usato solo quando si riempe il primo, ma questo si potrebbe anche risolvere cambiando lettere e quindi tutti i percorsi associati alle unità Frown).
Rimango del parere che questo sistema di gestione della memoria vada nettamente migliorato e mi aspetto che in Windows 8 Ballmer mi riservi belle sorprese (in realtà spero tanto di riuscire a migrare totalmente a GNU/Linux per allora già che mi sono innamorato di Android e Dreambox)

Rispondi

Beh, l'hack di spostare il file di paging su un'altra partizione è una buona soluzione, e migliora le prestazioni generali del sistema, Windows infatti non stressa l'HD sulla partizione primaria e tutto rimane più snello e pulito (anche nel caso di copie immagini del nostro SO).

Il problema purtroppo o per fortuna parte dalle origini, quando i vecchi computer soffrivano di mancanza di RAM e di bytes in generale, si studiavano tante soluzioni per ottimizzare le prestazioni, molte ingegnose, come la cache ed il paging stesso, prova a far viaggiare un vecchio Pentium II con 64Mb/128Mb di RAM e vedrai se il page swapping non ti torna utile. Oggi con "l'abbondanza" di RAM penso si sia curato di meno il page swapping (sono d'accordo con te) infatti addirittura c'è chi fà il contrario sfruttando la RAM come disco con le tecniche di RAMDisk (e ci stà pure), ma la memoria virtuale rimane pur sempre un meccanismo indispensabile, mi auguro anche io che in futuro sia rivista e migliorata, magari Windows 8 ci riserverà una bella sorpresa in merito, mi auguro che non sia il Windows 7 riscaldato, ma sono poco fiducioso a tal proposito.

Rispondi

Pingbacks and trackbacks (1)+

Aggiungi Commento

biuquote
Loading