Process Hacker 2.25, GPU Monitoring

Process Hacker 2

Process Hacker can be seen as the open-source clone of Process Explorer. Process Hacker is a Windows utility for manipulating processes, threads and services. It can replace Windows task manager. Here are the key features:

  • A simple, customizable tree view with highlighting showing you the processes running on your computer.
  • Detailed system statistics with graphs.
  • Advanced features not found in other programs, such as detaching from debuggers, viewing GDI handles, viewing heaps, injecting and unloading DLLs, and more.
  • Powerful process termination that bypasses security software and rootkits.
  • View, edit and control services, including those not shown by the Services console.
  • View and close network connections.
  • Starts up almost instantly, unlike other programs.

In a recent version of Process Hacker (the version 2.23 to be accurate), the support of GPU monitoring has been added. Then I quickly tested the monitoring of GPU usage (or load) with FurMark. On my system, I have a GTX 460 (primary renderer) and a GTS 250 as a secondary card. Like Process Explorer, there are nodes (engines in Process explorer) that should represent GPU units or something like that. By default, the node 0 is selected, which corresponds to the GTS 250, the secondary card in my PC. To monitoring the GTX 460, I had to check the node 6. The indication GeForce GTS 250 is wrong, should be GeForce GTX 460.

Process Hacker 2, GPU usage

I think I’ll keep using EVGA Precision / MSI Afterburner / GPU Shark to monitoring my GPUs. But for playing with system threads and processes, Process Hacker is a nice tool. What’s more, the availability of the source code makes it a great way to dive into Windows’s internals.

More information about Process Hacker can be found HERE. Process Hacker 2.25 binaries as well as the source code can be downloaded HERE.


  • WacKEDmaN

    this is a nice replacement for task manager..
    GPU area needs some tweaking imo..

    with 2 cards in my system its showing the 2nd card first..primary card starts at node 6..
    im noticing the nodes are for different i run fluidmark, i see usage on nodes 6 and 7..if i run the OpenGL demos i only see usage on node 6, but if i run the OpenCL demos i see slight usage on node 6, and heavy usage on node 7 and 12!..looks like nodes 7 and 12 are cuda maybe? while node 6 is pure graphics?

    and if you select more than one node, the main graph doubles (dunno if thats the right way to explain it!) you select node 6 and node 7, and have 100% useage on node 6, then the main graph will show 50% usage

  • GPU monitoring relies on D3DKMT functions (kernel mode) like D3DKMTQueryStatistics(). D3DKMT functions descriptions can be found here. D3DKMTQueryStatistics is not documented…