Is there any sort of tool (either 3rd party or internal to Windows) to view what processes, handles, etc. are using what amount (absolute or percentage) of the kernel nonpaged memory pool in Windows XP SP3?
You can start perfmon, select the Process performance object, select the Pool Nonpaged Bytes counter, select all instances and click the Add button. This will show you how much Pool Nonpaged bytes memory is being used by each process currently running.
Run the Windows debugger (windbg.exe). Use the following command to display nonpaged and paged pool usage, sorted by nonpaged pool:
You can also get a fairly good overview of pool usage and maximums using:
Debugging Tools - Getting Started