- Messaggi
- 2,466
- Reazioni
- 2,012
- Punteggio
- 134
Tu avevi chiesto questo:
infatti nel secondo intervento che ho fatto ho risposto a questo, poichè come quesito era chiaro. E' quanto emerso in seguito che mi sembrava meritevole di approdondimenti, ovvero:
Ciò su cui ho insistito nei precedenti post è proprio questo; è il modo in cui è composto il commit charge (che è tutt'altro che semplice).
Se quando dici "memoria totale del sistema in uso" parli di memoria RAM + paging occupati (la somma dei "working set" dei processi), allora no, non è così. O meglio è così ma in quel conteggio ti stai perdendo un altro componente, che è la memoria virtuale allocata e riservata non ancora mappata nello spazio degli indirizzi del processo, e quindi che non fa riferimento a qualcosa in RAM.
Per ogni singolo processo viene mantenuta una serie di VADs (Virtual Address Descriptor(s)) (citato da qualcuno pagine fa, forse @BAT o @Liupen ) che rappresenta la memoria richiesta dal processo in questione: qui trovi la memoria effettivamente in uso (che fa parte del working set) sia quella che è stata richiesta ma non ancora effettivamente usata, poichè non è ancora avvenuto un accesso e quindi non esiste l'associazione con la memoria fisica.
Ripeto, il mio obiettivo non è disattivare il file di paging ma è riuscire a capire cosa si intende per memoria vincolata che Windows segna nel task manager, tutto qui! Che il file di paging sia utile nessuno lo mette in dubbio![]()
infatti nel secondo intervento che ho fatto ho risposto a questo, poichè come quesito era chiaro. E' quanto emerso in seguito che mi sembrava meritevole di approdondimenti, ovvero:
Comprendo la difficoltà nel credere a un concetto che va contro tutto quello di cui siamo stati a conoscenza fino ad oggi, se fino ad oggi chiunque parlasse di paging si riferiva ad un quantitavo di memoria virtuale che viene utilizzata quando la ram fisica viene saturata e serve appunto per sopperire alla mancanza di ram..
Beh ma se leggi i miei post era da ieri che cercavo di dire che la memoria vincolata equivale alla memoria totale in uso ma nessuno mi dava credito.. Pero ora ho capito anche il concetto di current limit ( ram più file page) e current charge
Semplicemente lo fa su ram.. Infatti se disattivi il paging su disco il commit limit corrisponde al quantitativo di ram che hai sulla tua macchina.. Scarica process Explorer avviarlo e premi ctrl + i.. E vedrai tu i valori del commit charge ( memoria totale del sistema in uso) e commit limit ( memoria totale più paging)
Nessuno è risucito a darmi una risposta esaustiva e corretta tranne @DispatchCode che è stato l'unico ad affermare che la memoria totale del sistema in uso corrisponde al commit ( quando io era ormai giorni che provavo a dimostrarlo)
Ciò su cui ho insistito nei precedenti post è proprio questo; è il modo in cui è composto il commit charge (che è tutt'altro che semplice).
Se quando dici "memoria totale del sistema in uso" parli di memoria RAM + paging occupati (la somma dei "working set" dei processi), allora no, non è così. O meglio è così ma in quel conteggio ti stai perdendo un altro componente, che è la memoria virtuale allocata e riservata non ancora mappata nello spazio degli indirizzi del processo, e quindi che non fa riferimento a qualcosa in RAM.
Per ogni singolo processo viene mantenuta una serie di VADs (Virtual Address Descriptor(s)) (citato da qualcuno pagine fa, forse @BAT o @Liupen ) che rappresenta la memoria richiesta dal processo in questione: qui trovi la memoria effettivamente in uso (che fa parte del working set) sia quella che è stata richiesta ma non ancora effettivamente usata, poichè non è ancora avvenuto un accesso e quindi non esiste l'associazione con la memoria fisica.