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

 当您使用系统监视器工具时,有些计数器可能丢失,或者其中未包含计数器数据。基本的性能计数器库集可能被损坏,并且可能需要和任何可扩展计数器一起重新生 成。如果某些可扩展计数器损坏了注册表,或者某些基于 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)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
解决办法就是重新生成性能计数器库值,具体如下: 1)从Window XP 或 Windows 2003 光盘中提出"PERFC009.DA_文件"PERFH009.DA_"文件,通常它们位于光盘的 \i386 目录中,然后进入cdm,键入下面的命令分别展开它们: expand perfc009.da_ expand perfh009.da_ 然后把展开出来的 perfc009.dat 和 perfh009.dat 替换 windows\system32\ 下的同名文件。    展开方式如下:    2)启动注册表编辑器,然后在注册表中查找以下项: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Perflib 将"LastCounter"值更改为 1846(十进制),并将"LastHelp"值更改为 1847(十进制)。    3)继续找到以下注册表项 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services 如果存在 Performance 子项,则删除以下值: ? FirstCounter ? FirstHelp ? LastCounter ? LastHelp    4)打开cmd, 键入 cd %Systemroot%\System32 findstr drivername *.ini 然后按 Enter。 注意列表中每个驱动程序名称所对应的 .ini 文件名。 在命令提示符处,键入下面一行,然后按 Enter: lodctr inifile 其中,inifile 是对应您要重新加载的驱动程序的 .ini 文件名。 例如,如果打算重新加载 ASP 驱动程序,则第 4 步中出现的列表将显示 Axperf.ini 是用于 ASP 驱动程序的 .ini 文件 (axperf.ini:drivername=ASP)。因此,要重新加载 ASP 驱动程序,请在命令提示符处键入 lodctr axperf.ini,然后按 Enter。 下面我以 Windows XP 为例,把执行的步骤写上来,建一个bat文件,复制进去执行就可以了。 lodctr esentprf.ini lodctr mqperf.ini lodctr msdtcprf.ini lodctr perfci.ini lodctr perffilt.ini lodctr perfwci.ini lodctr pschdprf.ini lodctr rasctrs.ini lodctr rsvp.ini lodctr tslabels.ini pause    5)重新启动计算机。 最后还是cmd: cd \windows\system32 lodctr /R 注意:/R 是大写。 这时,已经可以看到性能计数器库值已完成了重新生成。   再来看看sql server 2008的安装,一切正常 细节和需要注意的地方,请参考微软支持(http://support.microsoft.com/kb/300956/zh-cn)   如果出现下面这种情况   退后两步,设置成 就行了   再回去看看 一切正常

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值