Troubleshooting Performance Monitor Counter Problems

Last reviewed: September 16, 1997
Article ID: Q152513
3.10 3.50 3.51 WINDOWS

The information in this article applies to:

  • Microsoft Windows NT operating system version 3.1
  • Microsoft Windows NT Advanced Server version 3.1
  • Microsoft Windows NT Workstation versions 3.5, 3.51 and 4.0
  • Microsoft Windows NT Server versions 3.5, 3.51 and 4.0

SUMMARY

The Performance Monitor utility Perfmon.exe may not display valid counter objects. Below are some troubleshooting methods that can be used to resolve the issue.

MORE INFORMATION

You could check the strings in the 009 key under the key described below and look for any garbled entries, entries that have two numbers, or entries that have two strings in succession (you should see ### string ### string, and so on in the multi-sz editor). This may not explain the different behavior between the local and remote cases because they both access the same registry values.

Perfmon does the following with the registry:

  • Reads the perfmon configuration from HKEY_CURRENT_USER\Software\Microsoft\Perfmon. Entries not found will revert to default values

- Opens the performance registry key, which does the following (on the
  computer that you are trying to connect to):

    - Opens HKEY_LOCAL_MACHINE\Software\Microsoft\Windows
      NT\CurrentVersion\Perflib\009
      (009 assumes English) to read the name strings and explain text
      strings. If this fails, the computer connection fails.

    - Opens HKEY_LOCAL_MACHINE\Software\Microsoft\Windows
      NT\CurrentVersion\Perflib to read any configuration information.
      If this fails, the default settings are used

    - Enumerates HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services to
      find services that have registered extensible performance counter
      DLLs. If this fails, or any of the DLLs found fail, then the failed
      DLLs will not be loaded and the extensible counters provided by the
      DLLs will not be returned. The connection to the computer (local or
      remote) will still succeed with at least the "standard" counters.

The biggest difference between monitoring a local computer and a remote computer is that the performance counters are queried within the context of the Perfmon process when monitoring local computer counters, while remote performance counters are monitored within a thread of the Winlogon process on the remote computer.

Usually this type of failure is the result of one of the network related extensible counter DLLs. Another possibility could be the permissions enabled for the account on the local workstation. Check the application and/or system event log for any "interesting" entries. To try and narrow it down you could try to disable the extensible counter DLLs to prevent them from being loaded. If this solves the problem, enable the extensible counter DLLs one at a time to see when it breaks again.

To disable one or more extensible counter DLL(s):

WARNING: Using Registry Editor can cause serious, system-wide errors that may require you to reinstall Windows NT. Microsoft cannot guarantee that problems resulting from the incorrect use of Registry Editor can be solved. Use Registry Editor at your own risk.

  1. Start the Registry Editor (RegEdt32.exe).

  2. Under the HKEY_LOCAL_MACHINE subtree, go to the following subkey:

          System\CurrentControlSet\Services
    

  3. Click Find Key on the View menu.

  4. Type Performance as the search string, then search down from there.

  5. At each Performance entry you find, select the Library value and modify the library name by prefixing it with two x's: for example, change OrigLib.dll to xxOrigLib.dll

  6. When you have done each Performance entry under the CurrentControlSet\Services key, restart Perfmon to see whether it works. If it does, then repeat the above two steps, only restoring the original library name and trying Perfmon after each change to see which library causes the fault.


KBCategory: kbhowto kbtshoot
KBSubcategory: nthowto
Additional reference words: troubleshoot 3.50 4.00
Keywords : nthowto kbhowto
Version : 3.10 3.50 3.51
Platform : WINDOWS


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: September 16, 1997
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.