Windows下的性能监控相关经验

https://blog.csdn.net/alwaysrun/article/details/106314263 Windows下使用PDH获取性能计数器(CPU、内存、网络流量等),包括测试代码,getNetInterface() 获取网卡名称

使用上面的测试代码,遇到很坑的地方:
PdhGetFormattedCounterValue 在获取网卡流量时,一直返回错误:0xC0000BC6 (PDH_INVALID_DATA),即使使用 wstring 也一样返回错误。

可以参考下面:

https://blog.csdn.net/yyz_1987/article/details/124972592 windows下使用性能计数器遇到的坑
https://docs.microsoft.com/en-us/windows/win32/perfctrs/pdh-error-codes Performance Data Helper Error Codes

以及,Windows 查看性能监控工具的办法:

https://blog.csdn.net/weixin_34293059/article/details/91582958 【性能工具】Windows性能监控工具Perfmon使用指南

最后,发现:
getNetInterface()返回的网卡名称是:HP Network Team #1
而:
Perfmon查看到的网卡名称是 HP Network Team _1
所以:
网卡名称传入PdhGetFormattedCounterValue前要用'_'替换'#'

posted @ 2022-09-08 14:38  Brickert  Views(223)  Comments(0Edit  收藏  举报