http://support.microsoft.com/kb/300956/zh-cn
http://support.microsoft.com/kb/300956/en-us
注册表中性能计数器说明文字字符串数值的格式不正确。
不正确的索引值是数据节中的第一个 DWORD 值, 最后的有效索引值是数据节中的第二个和第三个 DWORD 值。
如果某些可扩展计数器损坏了注册表,或者某些基于 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”文件。
expand x:\i386\perfc009.da_ c:\windows\system32\perfc009.dat
expand x:\i386\perfh009.da_ c:\windows\system32\perfh009.dat
2.启动注册表编辑器,然后在注册表中查找以下项:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Perflib
将“Last Counter”值更改为 1846(十进制),并将“Last Help”值更改为 1847(十进制)。
3.在 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services 下查找 Performance 子项,如果Performance 子项存在以下值请删除:
First Counter
First Help
Last Counter
Last Help
您还可以使用 Exctrlst.exe 工具来查找安装的性能计数器动态链接库文件 (DLL),然后访问注册表以删除 DWORD 值。
现在您拥有了只包含系统基计数器的可以正常使用的性能注册表。
重新添加可扩展计数器
1.打开一个命令提示符窗口,依次输入:
cd %Systemroot%\System32
findstr drivername *.ini
2.抄下每个驱动程序名称所对应的 .ini 文件名,并依次:
lodctr <inifile>
3.重新启动计算机。
若要在 Windows Server 2003 中重新生成所有性能计数器(包括可扩展和第三方计数器),请在命令提示符后键入以下命令:
cd \windows\system32
lodctr /R
/R 是大写字符。您必须在该计算机上拥有管理权限才能成功执行此命令。
Windows Server 2003 重新生成了所有的计数器,因为它读取了英文操作系统的 C:\Windows\inf\009 文件夹中所有的 .ini 文件。
欢迎转载,但请注明内容的来源或URL;
“[转]”篇章,必须保留原始来源且勿添加本blog指向。