19404 Letture

SuperFetch: Windows 7 non è "affamato" di RAM

Nei giorni scorsi aveva letteralmente fatto "il giro della Rete" un articolo a firma di Craig Barth, presentatosi come CTO della società Devil Mountain Software. Barth aveva presentato Windows 7 come un sistema operativo "mangiarisorse": la maggior parte dei sistemi sui quali è installato Windows 7 tendono ad avere problemi di saturazione della memoria, aveva sentenziato il ricercatore portando a supporto della sua analisi le statistiche raccolte in seno al progetto XPnet. "L'86% della macchine basate su Windows 7 consuma regolarmente il 90-95% della RAM disponibile forzando all'utilizzo della memoria virtuale e quindi al disco fisso", aveva sentenziato Barth.

Oggi arriva una precisazione dal magazine statunitense Infoworld: Craig Barth non esiste. Dietro a questa falsa identità si celava un collaboratore della testata, Randall C. Kennedy. Eric Knorr (Infoworld) si è pubblicamente scusato dell'accaduto aggiungendo che Kennedy è stato licenziato a seguito dei recenti fatti.


Pur lasciando ai nostri lettori una valutazione sul tema, ci sembra opportuno comunque confutare anche i dati resi noti da Craig Barth alias Randall C. Kennedy. In più di un anno di utilizzo di Windows 7, non abbiamo mai rilevato nulla di quanto emerso dai test di Kennedy, nessuna problematica relativa alla saturazione della memoria RAM.

Il perché il sistema di monitoraggio citato da Kennedy (XPnet) abbia condotto alla conclusione tratta dal "ricercatore" è presto detto. Windows 7 utilizza un aggressivo sistema di caching (SuperFetch), mutuato da Windows Vista. Tale tecnologia provvede ad effettuare una sorta di "precaricamento" dei dati che il sistema operativo ritiene vengano utilizzati più spesso. Sebbene sia stato reso meno "pesante" in Windows 7, la funzionalità SuperFetch sfrutta comunque un importante quantitativo di memoria RAM per portare a termine le sue operazioni di ottimizzazione. Va però chiarito che SuperFetch attiva il caching solo nel momento in cui altre applicazioni non stanno richiedendo l'uso della RAM. Nel momento in cui altri programmi necessitino di memoria, Windows 7 si preoccupa di liberare la RAM dai dati usati per la cache. L'approccio utilizzato trova giustificazione nell'adagio "la memoria che non è utilizzata da nessuna applicazione è tutta memoria sprecata". Utilizzare la RAM libera inserendovi dati memorizzati sul disco fisso onde velocizzarne il caricamento è quindi un approccio ragionevole.

Windows XP non fa nulla di tutto ciò quindi, sui sistemi dotati di un buon quantitativo di memoria, è cosa assai frequente trovare molta RAM libera. Su Windows 7 è possibile rendersi conto della situazione semplicemente ricorrendo al "Task Manager" (CTRL+ALT+DEL, Avvia gestione attività) quindi cliccando sulla scheda Prestazioni. Sebbene il valore della memoria libera sia davvero molto basso perché, appunto, utilizzato per le attività di caching, il quantitativo della memoria disponibile è sempre ben più alto. E' sufficiente verificarlo sui propri sistemi.
E' proprio il valore in megabytes riportato a fianco dell'indicazione "memoria disponibile" a rivestire il ruolo chiave dato che la porzione più ampia della cache in RAM può essere liberata pressoché istantaneamente.

  1. Avatar
    Quancuno che parla
    05/05/2010 14:11:52
    Mi trovo completamente in accordo sul fatto che il/la super fetch consumi troppe risorse. La mia impressione è che con un massiccio uso di programmi che necessitano Ram, la ram disponibile venga in breve tempo riempita. Il che andrebbe più che bene per alcuni tipi di programmi. Avere in ram una spece di cache del disco limita la quantità di page fault. Il problema si viene a creare quando il sistema si super fetch ha riempito la memoria completamente con la "cache del disco" e i programmi in uso es prograami di grafica, browser etc si trovano a caricare contenuti dinamici non presenti in memoria. E' inevitabile lo scatenarsi di un quantitativo di pagefault che rallenta tutta l'esecuzione. La soluzione, o si compra abbastanza ram da contenere tutti i programmi in esecuzione, cosa improbabile per chi fa grafica, o si mantiene una parte di ram libera costane, o si migliora l'algoritmo di rimpiazzamento delle pagine. bla bla bla
  2. Avatar
    ^_^
    02/03/2010 18:13:34
    non so cosa caricate voi all'avvio di win 7 ma io oltre all'antivirus non carico nient'altro... questo èil risultato: http://img214.imageshack.us/img214/9867/anonimo.jpg
  3. Avatar
    Azzola
    25/02/2010 11:21:19
    PS: detto ciò... a supporto del fatto che cmq l'allocazione di ram è dinamica e in base a quello che trova... tanto si allarga se ne trova... tanto sa essere parsimonioso su sistemi datati... ho visto girare sistemi con 1 Gb di ram senza problemi... mentre sul mio non l'ho ancotra visto passare i 4 gb ma con giochi e programmi in background aperti!
  4. Avatar
    Azzola
    25/02/2010 11:18:17
    Ciao a tutti! io ho un i7 fresco fresco con 6 Gb di RAM... all'avvio con i soli programmi in background (MSN, Skype, Antivirus etc...) mi ritrovo già con 1.6-1.8 Gb occupati... tuttavia è pur vero che piu spazio trova e piu ne occupa e, a prima vista, guardando il taskmanager uno si preoccupa... eppure ho disattivato in toto lo swap ed ho avuto solo una volta in 2 settimane un problema di saturazione ram (senza crash del sistema) in cui peraltro era andato in crash qualcosa inficiando su un processo di sistema (che al termine del crash si è pure ridimensionato da solo! di solito serviva il riavvio in questi casi) per il resto gira che è una meraviglia... ovviamente parlo di W7 x64... ne usando giochi ne usando photoshop o facendo rendering video (mi capita di farne in full HD) ho ancora avuti problemi... e visto che ho disattivato lo swap avrei dovuto incontrare dei veri e propri crash! fermo restando che 6 Gb di ram mi rendo ben conto non sono per tutti... ma sono abbastanza per lavorare anche con lo swap disattivo (evitando il solito uso che windows da sempre fa dello swap anche se nn ne ha bisogno ;) ) Saluti =)
  5. Avatar
    benny.evangelista
    24/02/2010 11:07:51
    Citazione: Non so voi, ma win7 richiede minimo 1GB di RAM, consigliata 2GB. Questo vuol dire che consuma più di un videogioco.
    sbagliato porre la questione in questi termini. Win7 è un sistema operativo, fa anche da piattaforma di esecuzione ai videogiochi (che senza l'appoggio del sistema operativo non potrebbero girare).
    Citazione: Infatti i nuovi PC ne hanno dai 4GB in su ed il mio che ne ha 4GB li satura tutti + 2GB di file di swapping perchè i sistemi win sono fatti così, usano sempre l'HD invece di finire la RAM.
    un po' banale...e non riscontrato nella realtà. Non so che computer hai, io con 4GB di ram non ho mai (e dico MAI) accusato problemi di swap. Considera che mentre gioco (anche a giochi recenti) riesco agevolmente a fare CTRL+TAB e tenere il gioco intanto che uso il browser per esempio. il fatto che "tutti i sistemi win" usano l'hd al posto della RAM mi sembra un po' buttata lì.
  6. Avatar
    MaoMaoVero
    23/02/2010 15:16:19
    Non so voi, ma win7 richiede minimo 1GB di RAM, consigliata 2GB. Questo vuol dire che consuma più di un videogioco. Infatti i nuovi PC ne hanno dai 4GB in su ed il mio che ne ha 4GB li satura tutti + 2GB di file di swapping perchè i sistemi win sono fatti così, usano sempre l'HD invece di finire la RAM. Detto questo è vero che se fai CTRL-ALT-CANC vedi che su 4GB usa 4GB di RAM, ma ne ha disponibili 2. Ma ciò non toglie che mangia RAM. Win XP consuma con acceso tutti i programmi base + Avast 5 + jetico firewall = 195MB. Attendo il win futuro con microkernel riscritto completamente che la M. aveva promesso 5 anni fa prima di Vista...... Mi sa che attenderò ancora molto......
SuperFetch: Windows 7 non è