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
前要用'_'替换'#'