Newsgroup: it.comp.os.win.windows7
Titolo: "commit" in gestione attività

Incuriosito dalla voce gestione attività->prestazioni->commit ho fatto 
una ricerca e son capitato qua: 
http://windows.microsoft.com/it-it/windows/what-task-manager-memory-columns-mean#1TC=windows-7
 
e il responso è questo: "Quantità di memoria virtuale riservata 
all'utilizzo da parte di un processo.".
 
Bene, ma nel mio PC in questo momento mi indica: Commit (GB) 3/15, che 
mi suona come "3Gb su 15", ma il file di paging è di 8GB (quanto la ram) 
e la ram libera al momento è ben oltre i 3Gb.
 
Chi me lo spiega come a un bimbo di 3 anni? :-D
 
 
-- 
Fri(END), Boyfri(END), Girlfri(END), Bestfri(END). Everything has an END 
except...Fam(ILY)! It Has 3 Letters that say I LOVE YOU


 
C'e scritto chiaramente:
quantità di memoria virtuale riservata all' utilizzo ...
 
riservata all' utilizzo,non necessariamente allocata.
 
 
La dimensione del file di paging non ha niente a che vedere con la 
memoria virtuale di un processo
 
 

 memoria virtuale di un processo
 
mi sfugge la differenza tra file di paging e memoria virtuale, e mi 
sfugge pure perchè come viene gestita la memoria in windows..



 
La memoria virtuale di un processo è la quantità di memoria a sua 
disposizione in un determinato istante di tempo.
Naturalmente normalmente la memoria vera occupata è minore.
Il file di paging è un estensore della memoria centrale,quando il 
sistema ne ha bisogno scarica pezzi di memoria centrale (tecnicamente 
chiamate pagine di dimensione fissa) sul file di paging e libera le 
pagine di memoria centrale per altri usi (di solito per altri processi)
Naturalmente puo anche recuperare,se serve,pagine dal file di paging e 
caricarle in memoria.
Se la memoria è grande abbastanza per gli usi che si fa della macchina 
si puo anche omettere il file di paging (questo in unix/linux,i vecchi 
win volevano un file di paging minimo comunque,non so se questo problema 
è ancora attuale)
 

 Chi me lo spiega come a un bimbo di 3 anni? :-D
 
Siccome un esempio vale più di mille parole, ti faccio un esempio 
pratico. :-)
 
Nel mio PC, ho avviato da qualche minuto un programma che alloca più di 
12 GB di memoria. In gestione attività vedo "Commit (GB) 14/15", 
tuttavia, la ram libera è ancora più di 12 GB, ma diminuisce a mano a 
mano che il programma la utilizza scrivendoci qualcosa.
 
La parola "riservata" usata nella definizione che riporti significa che 
il sistema operativo ha ricevuto dal mio programma una richiesta di 12 
GB di memoria e il SO l'impegna o la tiene occupata ("commit", appunto) 
per il programma, anche se ancora non è effettivamente tutta utilizzata.
 
La memoria virtuale non è il file di paging, ma è la memoria di cui 
virtualmente (potenzialmente) i programmi possono disporre: file di 
paging + memoria fisica - memoria fisica riservata.
 
In definitiva, "Commit (GB) 3/15" significa che tutto ciò che è in 
esecuzione in quel momento sta *richiedendo* al SO un totale di 3 GB di 
memoria (non meglio precisata e non necessariamente tutta utilizzata) e 
il SO ne può concedere 15: 8 giga di ram - la ram riservata al SO o 
all'hardware + 8 di paging.
 
Cristiano

 pratico. :-)
 
sufficientemente chiaro, grazie!
