Monitoring Global Counters

Global counters are statistics that monitor some of the actions that Driver Verifier performs on drivers. These statistics are drawn from all drivers being verified.

Global counters can be viewed by using the Verifier Command Line, or by using Driver Verifier Manager.

Verifier Command Line

To view global counters, use the verifier /query command. This will show both global counters and individual counters.

Global counters are also included in Driver Verifier log files.

Driver Verifier Manager

To view global counters, start Driver Verifier Manager and select the Display information about the currently verified drivers task. Then press Next twice.

Explanation of Global Counters

The following global counters monitor statistics related to the Force IRQL Checking option. These counters include actions performed since the last boot by all kernel-mode drivers that are currently being verified.

IRQL Raises
The number of times verified drivers raised the IRQL.

Spinlocks Acquired
The number of times verified drivers acquired spin locks.

Executions Synchronized
The number of times verified drivers synchronized the execution of a given routine with the ISR associated with a given interrupt object pointer.

Trims
The number of times Driver Verifier trimmed pageable memory from the working set. (Note that this is the number of trimming passes made by Driver Verifier, not the number of pages trimmed.)

The following global counter monitors a statistic related to the Low Resources Simulation option.

Faults Injected
The total number of resource allocations failed deliberately by Driver Verifier since the last boot.

The following global counters monitor statistics related to the Special Pool option. These counters always reflect the allocations attempted since the last boot by all kernel-mode drivers that are currently being verified.

Pool Allocations Attempted
The total number of memory allocations attempted by these drivers.

Pool Allocations Succeeded
The number of allocation attempts that succeeded.

Pool Allocations Succeeded in Special Pool
The number of allocation attempts that succeeded, and were assigned from the special pool.

Pool Allocations Without Tag
The number of times these drivers requested memory allocations but did not supply a pool tag. (Pool tags are always recommended for every allocation.)

Pool Allocations Failed
The number of allocation attempts that failed, due to lack of memory.

If the Special Pool feature is enabled, but less than 95% of all pool allocations have been assigned from the special pool, a warning will appear. In Windows XP and later, this warning will appear in a dialog box on the Global Counters screen. In Windows 2000, this warning will appear on the Driver Status screen.

The following global counter monitors a statistic related to the Special Pool and Pool Tracking options. It will always be zero if Pool Tracking is not active.

Pool Allocations Not Tracked
The number of untracked allocations from all drivers currently being verified. Allocations whose size is one page or larger are not tracked by Pool Tracking and cannot be allocated from the special pool. The individual counters do not reflect these allocations. (In Windows 2000, this counter can be found on the Pool Tracking screen under the title Not Tracked Allocations.)