We're trying to diagnose an issue where AfdP usage continues to climb until it hits a maximum and the system hangs due to lack of non-paged pool memory. We're working with a third-party application that runs under the Java VM and does a lot of network-related activity (print accounting). Any tips on how we can narrow down where the problem is coming from so that we can feed this back to the vendor? Even if we could just definitively pin it down to this application, that would be helpful. Right now, we're in the phase where the vendor is being very helpful, but doesn't think it could be their application. Nothing much else is running on the box and we did a recent upgrade of their software only after which did we see the problem, so it seems highly likely it's the culprit but we only have circumstantial evidence at this point.
Update
Some research by the vendor turned up a Windows 2003 bug which seemed to be triggered by a switch in the vendors code from blocking to non-blocking network I/O. The vendor was willing to change the code to let us switch back to blocking I/O, but we opted to move forward and transition the service to a Windows 2008 box. The bug seems to have been fixed in Server 2008.
Plain old Task Manager lets you view non-paged pool usage per app on the Processes tab: just do View | Select columns. That will at least give you an indication of who the culprit is. From there you'll be looking to set up performance logging to monitor what's happening over time.