Configuration Flags

HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib

Data type Range Default value
REG_DWORD 0x0 - 0x1F 0x10

Description

Regulates the performance counter DLL run–time test feature. The Performance Library (Perflib) tests performance counter DLLs whenever you select a performance counter in System Monitor or a similar performance tool.

Perflib can perform tests to detect the following errors:

The value of this entry determines which tests Perflib runs on trusted and non-trusted performance counter DLLs.

This value also determines how Perflib responds when a counter DLL fails a test. Perflib always records an error in the Application Log in Event Viewer (Source = Perflib). However, it can also disable the counter DLL, so that the counters are not displayed in any performance tool until you manually re-enable the DLL.

By default, Perflib uses the following test guidelines.

The value of this entry is a bitmask that you can use to change the default behavior. By default, only bit 0x10 (10000) is set. To select a behavior, set the bit representing the behavior to 1, or sum the values of all desired bits. For example, to prevent Perflib from testing for data buffer alignment (1 binary) and prevent Perflib from disabling counters (10 binary), set the value of this entry to 0x3 (11 binary).

Bit value Test setting
0x0 Use default test behavior.
0x1 (1 binary) Do not test for data buffer alignment errors. (These are common errors that are not usually critical.) Perform all other tests.
0x2 (10 binary) Do not disable counters. Perform all tests, but if a counter generates a function error or program exception, record a message in the Application Log.
0x4 (100 binary) Do not time procedure calls or perform buffer integrity tests. (When set, the ExtCounterTestLevel entry and the entries that define a slow procedure call (see Notes below) are ignored.
0x8 (1000 binary) Disable counters if their procedure calls are slow. (Non-trusted counter DLLs only.)
0x10 (10000 binary) Collect debugging data.

Perflib performs reliability tests to identify and eliminate defective counter DLLs. One defective counter DLL can harm your Windows 2000 performance tools, preventing them from displaying any performance data and, in some cases, causing errors that shut down the system and start Dr. Watson for Windows 2000.

Activation method

To make changes to this entry effective, restart the Remote Registry Service or restart Windows 2000.

Note Image Note

Bit 0x2 (10) takes precedence over bit 0x8 (1000). If bit 0x2 is set, Perflib does not disable performance counters.

Perflib disables counters by setting the value of Disable Performance Counters for that service to 1. After you have repaired or replaced the counter DLL, you must re-enable them manually by changing the value of Disable Performance Counters to 1.

Perflib does not time the procedure calls of trusted counters. To determine whether the procedure call of a non-trusted counter is abnormally slow, Perflib uses the standards established by values of OpenProcedureWaitTime, Open Timeout, and Collect Timeout.

Windows 2000 does not add this entry to the registry. You can add it by editing the registry or by using a program that edits the registry.

Tip Image Tip

If particular performance counters do not appear in your performance counter display tool, check the Application Log in Event Viewer for events recorded by Perflib.

Caution Image Caution

Run–time tests can perceptibly delay the appearance of performance data, but they protect the system's monitoring capability.

Related Entries

Page Image

Page Image

Page Image