如何手动重新生成性能计数器库值
2009-08-01 11:17
295 查看
当您使用系统监视器工具时,有些计数器可能丢失,或者其中未包含计数器数据。基本的性能计数器库集可能被损坏,并且可能需要和任何可扩展计数器一起重新生
成。如果某些可扩展计数器损坏了注册表,或者某些基于 Windows Management Instrumentation (WMI)
的程序修改了注册表,就可能会发生此问题。
可扩展计数器信息存储在以下两个位置中:
以下注册表项:
HKEY_LOCAL_MACHINE/Software/Microsoft/Windows NT/Current Version/Perflib/009
%Systemroot%/System32/Perfc009.dat 文件和 %Systemroot%/System32/Perfh009.dat 文件。
要手动重新生成基本的性能计数器库,请执行以下操作:
展开“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 命令压缩和展开文件及文件夹
启动注册表编辑器,然后在注册表中查找以下项:
HKEY_LOCAL_MACHINE/Software/Microsoft/Windows NT/CurrentVersion/Perflib
在注册表中,将“LastCounter”值更改为 1846
(十进制),并将“LastHelp”值更改为 1847
(十进制)。
查找以下注册表项,以搜索具有 Performance 子项的服务:
HKEY_LOCAL_MACHINE/System/CurrentControlSet/Services
从 Performance 子项(如果存在)删除以下值:
FirstCounter
FirstHelp
LastCounter
LastHelp
您还可以使用 Exctrlst.exe 工具来查找安装的性能计数器动态链接库文件 (DLL),然后访问注册表以删除 DWORD 值。现在您拥有了只包含系统基计数器的可以正常使用的性能注册表。
完成此过程后,必须从服务列表重新添加可扩展计数器。但是在执行此操作之前,必须确定用于加载计数器的 .ini 文件:
打开一个命令提示符窗口。
在命令提示符处,键入 cd %Systemroot%/System32
,然后按 Enter。
在命令提示符处,键入 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。
为列表中的所有 .ini 文件重复第 5 步。
重新启动计算机。
要在 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)。
成。如果某些可扩展计数器损坏了注册表,或者某些基于 Windows Management Instrumentation (WMI)
的程序修改了注册表,就可能会发生此问题。
可扩展计数器信息存储在以下两个位置中:
以下注册表项:
HKEY_LOCAL_MACHINE/Software/Microsoft/Windows NT/Current Version/Perflib/009
%Systemroot%/System32/Perfc009.dat 文件和 %Systemroot%/System32/Perfh009.dat 文件。
要手动重新生成基本的性能计数器库,请执行以下操作:
展开“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 命令压缩和展开文件及文件夹
启动注册表编辑器,然后在注册表中查找以下项:
HKEY_LOCAL_MACHINE/Software/Microsoft/Windows NT/CurrentVersion/Perflib
在注册表中,将“LastCounter”值更改为 1846
(十进制),并将“LastHelp”值更改为 1847
(十进制)。
查找以下注册表项,以搜索具有 Performance 子项的服务:
HKEY_LOCAL_MACHINE/System/CurrentControlSet/Services
从 Performance 子项(如果存在)删除以下值:
FirstCounter
FirstHelp
LastCounter
LastHelp
您还可以使用 Exctrlst.exe 工具来查找安装的性能计数器动态链接库文件 (DLL),然后访问注册表以删除 DWORD 值。现在您拥有了只包含系统基计数器的可以正常使用的性能注册表。
完成此过程后,必须从服务列表重新添加可扩展计数器。但是在执行此操作之前,必须确定用于加载计数器的 .ini 文件:
打开一个命令提示符窗口。
在命令提示符处,键入 cd %Systemroot%/System32
,然后按 Enter。
在命令提示符处,键入 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。
为列表中的所有 .ini 文件重复第 5 步。
重新启动计算机。
要在 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)。
相关文章推荐
- 如何手动重新生成性能计数器库值,当安装SQL2008 R2时出现计数器问题时
- 如何手动重新生成性能计数器库值 --摘自微软官方文档
- 【转】关于“手动重新生成注册表性能计数器”的问题
- 关于“手动重新生成注册表性能计数器”的问题
- android sdk 如何重新生成debug.keystore
- android R 文件 丢失的处理 如何重新生成
- 如何手动生成ASH报告
- android R 文件 丢失的处理 如何重新生成
- 如何在性能测试中自动生成并获取Oracle AWR报告
- 卸载重新安装Sql Server 2005出现“性能监视器计数器要求”错误解决方法
- 如何选择 Web 服务器性能计数器
- 如何修复windows的性能计数器
- 【固定资产】批量制单已删除,如何重新生成凭证
- android R 文件 丢失的处理 如何重新生成
- MySQL:有关联的两张表重新生成主键如何关联
- ios开发如何批量打包?如何让同一个程序在一个手机上多次安装时不覆盖以前安装的,而是重新生成一个新的
- Android 工程中的 R.java 文件丢失后如何重新生成
- 解决方法:对性能监视器计数器注册表值执行系统配置检查失败。有关详细信息,请参阅自述文件或 SQL Server 联机丛书中的“如何在 SQL Server 2005 中为安装程序增加计数器注册表项值”
- (原创)如何在性能测试中自动生成并获取Oracle AWR报告
- Entity Framework Code first 禁止重新生成数据表库数据 和实体类修改后如何对应表