On 08/11/2015 00:03, liftman wrote:
> 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
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