注册表中性能计数器名称字符串数值的格式不正确

来源:互联网 发布:mv播放器软件 编辑:程序博客网 时间:2024/05/01 23:18
电脑刚装Windows操作系统,可每次启动系统,在事件查看器里总是有Lodperf导致的错误事件日志,尽管微软官方也说这种情况对使用没有影响,微软官方网站有如下的信息:Windows XP中文版安装后应用程序事件日志中显示LoadPerf错误文章编号 : 872984 最后修改 : 2004年7月16日 修订 : 1.1 症状当您安装完Windows XP 中文版后,应用程序事件日志中会显示源自LoadPerf 的错误事件,详细事件内容为:事件来源: LoadPerf 事件 ID: 3001 描述: 注册表中性能计数器名称字符串数值的格式不正确。不正确的字符串是2212,不正确的索引值是数据节中的第一个DWORD值,最后的有效索引值是数据节中的第二个和第三个DWORD值。 数据: 0000: 000008a4 000008a2 000008a3 00000297 原因这是一个安装过程中的已知的问题,详细信息请参考“更多信息”一节。 解决方案目前没有发现此错误会造成任何使用上的影响,此错误可以被忽略。 状态Microsoft 已经确认这是在本文开头列出的 Microsoft 产品中存在的问题。 更多信息此错误是由于处理计数器列表时发生了一个竞争问题。当LoadPerf.dll读取了最后计数器的索引值的同时又有其他计数器被添加,于是新的计数器的索引值比最后计数器的索引值还大,因而LoadPerf.dll认为计数器数值不正确而记录下次事件日志。因为LoadPerf.dll在遇到此错误后会进行重试并成功读取新的计数器,所以这个错误在重试之后不会造成使用上的影响。***********其中给出的解决方法是通过在命令提示符下键入:lodctr /r,自动重建性能计数器字符串表。最后还是在微软官方网站找到了关于重建性能计数器的办法:性能计数器信息保存在以下位置:注册表: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\Current Version\Perflib\009系统文件夹中的2个文件:%Systemroot%\System32\Perfc009.dat 和%Systemroot%\System32\Perfh009.dat 重建计数器值步骤如下:将系统安装盘中的两个文件:DriveLetter:\i386\perfc009.da_ 和DriveLetter:\i386\perfh009.da_ 分别展开成:Perfc009.dat 和Perfh009.dat (DriveLetter代表系统安装盘盘符),然后复制到系统文件夹%Systemroot%\System32\下,替换掉原来的2个文件。展开文件的命令格式为:expand  perfc009.da_  Perfc009.dat。打开注册表编辑器,定位到:HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Perflib项。修改其中的2个子键值,LastCounter 改为十进制的1846,LastHelp 改为十进制的1847 。再定位到HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services项。找到所有的performance子键,如果performance子键内含有以下键值,则删除:FirstCounter FirstHelp LastCounter LastHelp 做完以上工作,接下来就是重新添加性能计数器值:1. 打开一个命令提示符窗口。  2. 通过输入cd %Systemroot%\System32命令,转入到系统文件夹。  3. 通过findstr drivername *.ini命令,找到所有需要加载的驱动。 4. 记下查找到的ini文件列表  5. 然后对所有找到的ini文件通过loadctr inifile命令重新加载6. 最后重新启动计算机