2014-10-23 4 views
5

Perché lo Process.PrivateMemorySize64 /1024 non corrisponde a quello della memoria del Task Manager di Windows (set di lavoro privato)?Perché Process.PrivateMemorySize64/1024 non corrisponde a quale memoria di Task Manager di Windows (set di lavoro privato)?

Sembra esserci una grande differenza (~ 30%). Inoltre, il valore non si aggiorna di frequente come il task manager.

Chiamare _process.Refresh() non aiuta.

+0

vedere qui (http://www.itwriting.com/dotnetmem.php). Questo potrebbe aiutarti a scoprire i problemi di memoria su .Net. La memoria stampata in TaskManager non è la memoria utilizzata effettiva dell'applicazione. – HimBromBeere

+0

Sono numeri drasticamente diversi, memoria virtuale e memoria fisica. –

risposta

4

Stai guardando cose diverse.

La proprietà PrivateMemorySize64 dalla classe Process è l'equivalente del contatore di prestazioni Byte privati. Rappresenta la quantità totale di memoria privata allocata per il processo associato che non può essere condivisa con altri processi. byte privati ​​non sono solo la memoria fisica, ma anche i file di paging, ecc

Dall'altra parte del gruppo di lavoro privato traccia un sottoinsieme di sopra del byte privato, che rappresenta solo la memoria fisica che un processo sta utilizzando e può essere condivisi con altri processi

1

Il PrivateMemorySize64 rappresenta tutta la memoria privata, non solo il working set privato, che è la quantità di memoria privata attualmente non paginata su disco.

Se si desidera conoscere la dimensione totale del processo, utilizzare invece la proprietà VirtualMemorySize64. Rappresenta tutta la memoria allocata dal processo indipendentemente dal fatto che la memoria sia paginata o sulla RAM. Questo è utile ad esempio per sapere se il tuo processo a 32 bit si avvicina a 2 GB di dimensione virtuale (spazio di indirizzamento del processo), che normalmente è il limite per un processo a 32 bit (a meno che non si usi l'opzione/3GB su Windows a 32 bit o l'applicazione viene eseguita su una versione a 64 bit di Windows ed è a conoscenza degli indirizzi di grandi dimensioni).

Problemi correlati