Process Hacker and Windows discussion

User avatar
Posts: 948
Joined: 17 Jan 2011 05:19
OS: Windows

Enable service non-polling mode

23 Mar 2011 10:59

Some users have reported performance problems with service monitoring, such as services.exe having too much CPU usage. If this is a problem for you and you are using Windows Vista or later, edit your settings.xml file (usually located in %AppData%\Process Hacker 2) and set the EnableServiceNonPoll setting to 1:
<setting name="EnableServiceNonPoll">1</setting>
This feature was introduced in Process Hacker 2.13, but has some problems, as documented in the source code (srvprv.c):
// The non-polling method involves two functions:
// * NotifyServiceStatusChange provides us with service creation and deletion events.
// * EvtSubscribe provides us with service state change events (but not pending states).
// Currently there are two major problems with non-polling:
// * Pending state changes are not visible.
// * Driver events (start, stop, delete) are not visible. This is because the SCM must 
//   explicitly check if drivers are loaded - it doesn't get notifications for them either.