Perfmon Reports NPP Leak For process

Hello,

we are trying to figure out whether we have a memory leak in our product.
We have added perfmon counters for private bytes, and NPP for a user
process (service). We observe that the NPP usage for this process keeps
increasing. I would like to understand what the term Non paged pool means
for a user process? I thought NPP is for kernel memory, but if a process
shows NPP leak does it mean that the leak is in one of the drivers which
this process communicates with (through IOCTLS)?

thanks in advance

AP

Do you have a kernel driver for your application?

Non-paged pool of a process is pool allocated with ExAllocatePoolWithQuota and also IoAllocateIrp with ChargeQuota=TRUE. If you don’t complete your IRPs correctly, the allocations will still count against the process.

What numbers do you see?

The most likely cause of increasing non paged pool use for a UM process is a handle leak. You can verify this by observing the handle counts in perfmon

“A P” wrote in message news:xxxxx@ntdev…
Hello,

we are trying to figure out whether we have a memory leak in our product. We have added perfmon counters for private bytes, and NPP for a user process (service). We observe that the NPP usage for this process keeps increasing. I would like to understand what the term Non paged pool means for a user process? I thought NPP is for kernel memory, but if a process shows NPP leak does it mean that the leak is in one of the drivers which this process communicates with (through IOCTLS)?

thanks in advance

AP