Existe outra maneira de ler esses dados?
Você pode usar pslist de Windows Sysinternals :
Memory Abbreviation Key
All memory values are displayed in KB.
Pri: Priority Thd: Number of Threads Hnd: Number of Handles VM: Virtual Memory WS: Working Set Priv: Private Virtual Memory Priv Pk: Private Virtual Memory Peak Faults: Page Faults NonP: Non-Paged Pool Page: Paged Pool Cswtch: Context Switches
O valor faults
é o número total de falhas de página.
Você precisará dos IDs de processo dos processos que deseja monitorar.
Exemplo de saída:
> pslist -m 6272
PsList v1.4 - Process information lister
Copyright (C) 2000-2016 Mark Russinovich
Sysinternals - www.sysinternals.com
Process memory detail for HAL:
Name Pid VM WS Priv Priv Pk Faults NonP Page
firefox 6272 2707156 1038508 1015532 1191600 34880695 194 596
Você pode usar um arquivo em lotes ou um script do PowerShell para analisar essa saída.
Aviso de isenção
Eu não sou afiliado com Windows Sysinternals de qualquer forma, sou apenas um usuário final de software.