非英文Windows系统中typeperf计数器ID无法使用的问题
获取与任务管理器一致的跨语言CPU使用率数值
需求背景
需要获取和任务管理器显示一致的CPU使用率,经确认计数器\Processor Information(*)\% Processor Utility的数值与任务管理器报告高度接近。但由于使用的是西班牙文版本Windows 11,为实现命令在任意语言系统中正常执行,需找到该计数器对应的ID。
问题排查与结论
- 从英文Perflib注册表路径
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\009中获取到对应ID:- 2454(对应
Processor Information) - 2508(对应
% Processor Utility)
- 2454(对应
- 使用ID调用计数器时提示无效:
typeperf "\2454(*)\2508" Error: contadores no válidos. - 改用西班牙文名称则能正常获取数值:
typeperf "\Información del procesador(*)\% de utilidad del procesador" "12/08/2023 21:19:27.006","4.264393","0.043666","22.416960","0.039292","21.000396" - 查看
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\CurrentLanguage发现,该路径下仅包含约2000个已翻译计数器,远少于英文注册表(009)的6000个,且Processor Information和Processor Utility不在其中。 - 经测试得出核心结论:仅能调用
CurrentLanguage注册表中存在的计数器ID,英文(009)注册表中的ID无法直接使用。例如typeperf "\238(*)\6"可正常运行,它对应西班牙文名称\Procesador(*)\% de tiempo de procesador,且这两个条目均存在于CurrentLanguage注册表内。
补充信息
通过typeperf -q查找近似翻译,找到Processor Information(*)\% Processor Utility对应的西班牙文名称列表:
\Información del procesador(*)\Marcas de límite de rendimiento \Información del procesador(*)\% de límite de rendimiento \Información del procesador(*)\% de utilidad privilegiada \Información del procesador(*)\% de utilidad del procesador \Información del procesador(*)\% de rendimiento del procesador
内容的提问来源于stack exchange,提问作者Colas
相关产品推荐
相关产品推荐

