如何手动重新生成性能计数器库值

来源:互联网 发布:p2p网络投资介绍 编辑:程序博客网 时间:2024/05/21 20:25

 当您使用系统监视器工具时,有些计数器可能丢失,或者其中未包含计数器数据。基本的性能计数器库集可能被损坏,并且可能需要和任何可扩展计数器一起重新生成。如果某些可扩展计数器损坏了注册表,或者某些基于 Windows Management Instrumentation (WMI)的程序修改了注册表,就可能会发生此问题。

可扩展计数器信息存储在以下两个位置中:

  • 以下注册表项:
    HKEY_LOCAL_MACHINE/Software/Microsoft/Windows NT/Current Version/Perflib/009
  • %Systemroot%/System32/Perfc009.dat 文件和 %Systemroot%/System32/Perfh009.dat 文件。

要手动重新生成基本的性能计数器库,请执行以下操作:

  1. 展开“Perfc009.dat”文件和“Perfh009.dat”文件。这些文件位于 Windows 2000 光盘上。压缩文件位于 DriveLetter:/i386/perfc009.da_ 和 DriveLetter:/i386/perfh009.da_。替换 %Systemroot%/System32 文件夹中的文件。有关 EXPAND 命令的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
    314958  (http://support.microsoft.com/kb/314958/ ) 如何在 Windows 2000 中分别使用 COMPRESS、COMPACT 和 EXPAND 命令压缩和展开文件及文件夹
  2. 启动注册表编辑器,然后在注册表中查找以下项:
    HKEY_LOCAL_MACHINE/Software/Microsoft/Windows NT/CurrentVersion/Perflib
  3. 在注册表中,将“LastCounter”值更改为 1846(十进制),并将“LastHelp”值更改为 1847(十进制)。
  4. 查找以下注册表项,以搜索具有 Performance 子项的服务:
    HKEY_LOCAL_MACHINE/System/CurrentControlSet/Services
  5. 从 Performance 子项(如果存在)删除以下值:
    • FirstCounter
    • FirstHelp
    • LastCounter
    • LastHelp
    您还可以使用 Exctrlst.exe 工具来查找安装的性能计数器动态链接库文件 (DLL),然后访问注册表以删除 DWORD 值。现在您拥有了只包含系统基计数器的可以正常使用的性能注册表。

完成此过程后,必须从服务列表重新添加可扩展计数器。但是在执行此操作之前,必须确定用于加载计数器的 .ini 文件:

  1. 打开一个命令提示符窗口。
  2. 在命令提示符处,键入 cd %Systemroot%/System32,然后按 Enter。
  3. 在命令提示符处,键入 findstr drivername *.ini,然后按 Enter。
  4. 注意列表中每个驱动程序名称所对应的 .ini 文件名。
  5. 在命令提示符处,键入下面一行,然后按 Enter:
    lodctr inifile
    其中,inifile 是对应您要重新加载的驱动程序的 .ini 文件名。

    例如,如果打算重新加载 ASP 驱动程序,则第 4 步中出现的列表将显示 Axperf.ini 是用于 ASP 驱动程序的 .ini 文件 (axperf.ini:drivername=ASP)。因此,要重新加载 ASP 驱动程序,请在命令提示符处键入 lodctr axperf.ini,然后按 Enter。
  6. 为列表中的所有 .ini 文件重复第 5 步。
  7. 重新启动计算机。

要在 Windows Server 2003 重新生成所有的性能计数器(包括扩展的和第三方计数器),请在命令提示符处键入以下命令。在输入每个命令后按 Enter。

cd /windows/system32
lodctr /R

注意:/R 是大写。

Windows Server 2003 重新生成了所有的计数器,因为它读取了英文操作系统的 C:/Windows/inf/009 文件夹中所有的 .ini 文件。

注意:如果您正在运行群集或数据中心产品,则在对基本计数器和可扩展计数器执行上述步骤后,必须故障转移节点以刷新计数器列表。

注意:在运行添加其自身的性能计数器的应用程序的系统上,例如在 Microsoft Exchange 或 SQL Server上,用于加载性能计数器的 .ini 文件可能不在 %systemroot/system32 中。通常可以在应用程序文件夹结构下找到这些.ini 文件。

注意:在使用上述步骤时,如果收到有关性能库的错误消息,则可能必须卸载并重新加载 IIS 性能动态链接库 (DLL)。

原创粉丝点击