Use o Poolmon.exe para localizar o ofender. Se for um processo simples, você pode vê-lo no gerenciador de tarefas.
Aqui está um exemplo de saída do comando !vm
no depurador do kernel do windbg.exe:
*** Virtual Memory Usage ***
Physical Memory: 259676 ( 1038704 Kb)
Page File: \??\C:\pagefile.sys
Current: 1558056 Kb Free Space: 1206384 Kb
Minimum: 1558056 Kb Maximum: 3116112 Kb
Available Pages: 92541 ( 370164 Kb)
ResAvail Pages: 174950 ( 699800 Kb)
Locked IO Pages: 56 ( 224 Kb)
Free System PTEs: 187264 ( 749056 Kb)
******* 177 system cache map requests have failed ******
Free NP PTEs: 32457 ( 129828 Kb)
Free Special NP: 0 ( 0 Kb)
Modified Pages: 18154 ( 72616 Kb)
Modified PF Pages: 18154 ( 72616 Kb)
NonPagedPool Usage: 7704 ( 30816 Kb)
NonPagedPool Max: 52532 ( 210128 Kb)
PagedPool 0 Usage: 8386 ( 33544 Kb)
PagedPool 1 Usage: 8000 ( 32000 Kb)
PagedPool 2 Usage: 7980 ( 31920 Kb)
PagedPool 3 Usage: 7984 ( 31936 Kb)
PagedPool 4 Usage: 7975 ( 31900 Kb)
********** Excessive Paged Pool Usage *****
PagedPool Usage: 40325 ( 161300 Kb)
PagedPool Maximum: 40960 ( 163840 Kb)
********** 5645 pool allocations have failed **********
Session Commit: 1228 ( 4912 Kb)
Shared Commit: 6680 ( 26720 Kb)
Special Pool: 0 ( 0 Kb)
Shared Process: 4715 ( 18860 Kb)
PagedPool Commit: 40325 ( 161300 Kb)
Driver Commit: 4743 ( 18972 Kb)
Committed pages: 217663 ( 870652 Kb)
Commit limit: 624349 ( 2497396 Kb)
Total Private: 145036 ( 580144 Kb)
Observe que a memória do pool paginável é quase totalmente alocada e muitas alocações de pool falharam. Mas como descobrir o que está alocando? Eu suspeito de um vazamento de memória em algum lugar.
Quando o limite é atingido, recebo um comportamento de programa estranho e erros 0xC0000044 / 0xC000012D em todo o lugar.
Use o Poolmon.exe para localizar o ofender. Se for um processo simples, você pode vê-lo no gerenciador de tarefas.