已成功加载或删除WmiApRpl服务解决参考
2024-09-01 13:43:20
供稿:网友
来源 loadpref ID:1000
已成功加载 WmiApRpl (WmiApRpl)服务的性能计数器。记录数据含有分配给这个服务的新索引数值。
来源:loadpref ID:1001
已成功删除 WmiApRpl (WmiApRpl)服务的性能计数器。记录数据含有系统上一个计数器和上一个“帮助”注册表项的新数值。
---------------------------------------------------------------------------------------------------------------------
此错误是由于处理计数器列表时发生了一个竞争问题。当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. 最后重新启动计算机
-------------------------------------------------------------------------------------------------------------------------
这个问题困扰了很多管理员,由此错误导致服务器频繁自动重启。
问题描述:
服务器事件查看器-系统中出现以下错误
处理 Performance 扩展计数器提供程序时,性能注册表值中的性能字符串被损坏。 性能注册表中的 BaseIndex 值是数据节中 的第一个
DWORD 值,LastCounter 值是数据节中的第二个 DWORD 值,LastHelp 值是数据节中的第三个 DWORD 值。
未能为服务 WmiApRpl (WmiApRpl)卸载性能计数器字符串。 错误代码是数据节中的第一个 DWORD 值。
服务 SYSTEM/CurrentControlSet/Services/Serv-U-Counters/Performance 的 Counters 索引范围已被损坏。数据节中的第一个 DWORD 值 含
有使用的第一个索引,数据节中的第二个 DWORD 值含有使用的最后一个索引。
未能为服务 Serv-U-Counters (%2)安装性能计数器字符串。 错误代码是数据节中的第一个 DWORD 值。
解决方法:
第1步:在“开始”--“运行”输入cmd 到dos命令行模式
在命令行模式下 运行 :Lodctr /r
lodctr /r 此命令重建注册表中的性能计数器字符串表
第2步:确认是否有装serv-u
用regedit打开注册表
找到键 : SYSTEM/CurrentControlSet/Services/Serv-U-Counters/Performance
查看他的子键 First Counter和Last Counter是否存在,数据是否不规则
当发现不存在或者数据有异常,升级serv-u软件到最新版,再次查看,发现丢失的键和对应的数值都自动补全了.
第3步,如果你经历了1,2步仍未来解决问题,可以检查机器散热问题,如果机器cpu风扇,机箱内部散热风扇,显卡风扇不能正常工作,也可
能导致机器频繁重起,到这里问题算是搞定。