La soluzione migliore su Windows 8.1 e versioni successive è il provider Microsoft-Windows-Kernel-Memory, che registra le informazioni di memoria per processo ogni 0,5 s. Vedi https://github.com/google/UIforETW/issues/80 per i dettagli. UIforETW lo abilita di default quando è disponibile.
Si potrebbe anche provare il provider MEMINFO. Fornisce una panoramica a livello di sistema della pressione della memoria. Mostra l'Elenco attivo (memoria attualmente in uso), l'Elenco di attesa (pagine "utili" non attualmente in uso, come la cache del disco) e le liste Zero e Free (memoria veramente libera). Questo almeno ti permette di dire se un sistema sta esaurendo la memoria.
Si potrebbe anche provare MEMINFO_WS e CONTMEMGEN ma questi sono non documentati quindi non so davvero cosa fanno. Si visualizzano in xperf -provider k ma quando registro con loro non riesco a vedere nessun nuovo grafico. Apparentemente Microsoft spedisce questi provider ma non c'è modo di visualizzarli. Sigh ...
Se desideri ulteriori dettagli di memoria su Windows 7, ad esempio i set di lavoro per processo, la soluzione migliore è eseguire un processo che periodicamente interroga questi dati e li emette in eventi ETW personalizzati. Questo è disponibile in un modulo precompilato in UIforETW che può interrogare il working set di un insieme specifico di processi una volta al secondo. Vedere il post dell'annuncio su come ottenere UIforETW: https://randomascii.wordpress.com/2015/04/14/uiforetw-windows-performance-made-easier/
I dati del set di lavoro di Windows 7 di UIforETW vengono visualizzati in Eventi generici in Nome attività == WorkingSet. Su Windows 8.1 i dati di funzionamento del sistema operativo (più dettagliati, registrati in modo più efficiente) vengono visualizzati in Memoria-> Istantanee memoria virtuale.
fonte
2013-12-13 04:18:10
Sì, è in grado di acquisire molti dati, ma come si fa a visualizzarli * o altrimenti estrarli? In particolare non riesco a trovare alcun modo per visualizzare i dati MEMINFO_WS. Nella sezione Memoria di WPA è possibile vedere Utilizzo memoria (elenchi attivi/modificati/ecc.), Guasti gravi, durata di vita VirtualAlloc, grafici pool e set residente. Resident Set sembra il più utile, ma sembra che mostri informazioni REFSET, quindi cosa mostra i dati MEMINFO_WS? –
Resident Set sembra solo catturare un'istantanea alla fine della traccia, quindi è scarsa per rilevare le tendenze nel corso di una traccia. Penso che/abbiamo davvero bisogno dei dati MEMINFO_WS. –