DispatchCode
Utente Èlite
- Messaggi
- 2,498
- Reazioni
- 2,045
- Punteggio
- 134
Scrivendo questo, significa che tutto quello detto e testato da me corrisponde a realtà![]()
Non fare per cherry picking, perchè ho aggiunto anche:
Il "commit charge" contiene... di tutto. Tecnicamente si tratta di memoria allocata con VirtualAlloc oppure con MapViewOfFile (e mi sembra altro); paged pool e non-paged pool sono sempre qui dentro. A questo valore va poi aggiunta la dimensione degli stack dei thread in kernel mode e le tabelle delle pagine; inoltre c'è lo spazio che potrebbe essere necessario in caso di future allocazioni (sempre relativo alla tabella delle pagine).
Il commit charge indica la dimensione potenziale che può raggiungere il page file, non l'utilizzo attuale; è la dimensione che verrebbe occupata se tutta la memoria virtuale impegnata venisse paginata sul disco, in pratica.
Il commit charge non può superare il commit limit.
C'è una cosa che non ho aggiunto in effetti prima: quando ho detto che "il commit charge non può superare il commit limit" non ho aggiunto una cosa importante: il "commit limit" ti mostra il valore di RAM+pagefile, ed è la memoria che può essere "committata" senza estendere il pagefile (che può crescere, come mi sembra di aver detto in un intervento precedente). Se il pagefile viene esteso, il limit cambia.
Bhe ti assicuro che tutti quelli che ti stanno rispondendo non stanno scrivendo perchè adorano digitare tasti sulla tastiera@DispatchCode visto che sembri uno dei pochi ferrato in materia, è vero che se disattivo il paging su disco Windows continua a usarlo ma non avendo il disco a disposizione utilizza la ram??
Io dai test che ho eseguito ho notato che con pagine disattivo dal disco esso continuava ad esserci
Se disabiliti i paging files, quando la RAM è finita non può aumentare; questo comporta fallimenti nelle allocazioni di memoria successive e il passo che segue è un crash (BSOD).
Supponiamo che hai a disposizione 2GB di RAM ed hai un pagefile di 1GB, ok? Quando raggiungi i 2GB di memoria occupata inizia a scrivere sul disco. Raggiunto il limite (2+1 = 3GB) se il page file può crescere in automatico, lo farà (può essere disabilitato).
Poi non è tutto così netto: Windows può usare il pagefile anche in momenti precedenti alla saturazione della RAM; può ad esempio "decidere" che ciò che è in RAM e viene poco utilizzato può essere messo su disco, così da liberare spazio.
Insomma, il page file può essere usato anche con la RAM non satura. Anche questo è fatto per motivi di efficienza in quanto in caso di richieste da parte di nuovi programmi (ancora non caricati in memoria) esiste della RAM a disposizione.
Non è che lo fa sulla RAM; il valore sta a significare che non hai pagefile, e quindi il limite è dato dalla RAM stessa. E' una somma "RAM + pagefile (0)", che avrà quindi come totale la RAM.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)


