You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows 10任务管理器网络收发统计与PowerShell性能计数器实现探究

Hey,这问题问得好!刚好我对Windows性能计数器和任务管理器的底层实现有点了解,咱们来拆解下~

揭秘任务管理器网络数据的实现&PowerShell模拟方案

一、任务管理器的核心依赖:Windows性能计数器

Windows系统内置了一套**性能计数器(Performance Counters)**机制,专门负责收集系统、硬件、应用的各类性能数据。任务管理器「性能」选项卡里的网络「接收」「发送」数据,本质上就是实时读取了这两个关键计数器:

  • \Network Adapter(*)\Bytes Received/sec:每秒接收的字节数
  • \Network Adapter(*)\Bytes Sent/sec:每秒发送的字节数

任务管理器只是把这些原始数值做了可视化处理,比如实时折线图、单位转换(字节/KB/MB),以及多适配器的数据聚合展示。

二、用PowerShell模拟的实验思路

你想到用PowerShell的Get-Counter来验证完全找对了路子!这个cmdlet就是微软提供的、用于读取性能计数器的官方工具。我把你那段未完成的代码补全,并拆解关键逻辑:

完整实验代码

# 获取本地计算机名称
$Computer = hostname

# 定义脚本块:统计30次采样周期内的总接收字节数
$sndrecsum = {
    # 连续采样30次「每秒接收字节数」计数器
    $counterResults = Get-Counter -Counter '\network adapter(*)\Bytes Received/sec' -MaxSamples 30
    # 计算所有采样值的总和
    ($counterResults.CounterSamples | Measure-Object CookedValue -Sum).Sum
}

# 将统计逻辑放入后台作业运行(避免阻塞当前会话)
$backgroundJob = Start-Job -ScriptBlock $sndrecsum -Name NetworkReceiveStats

# 等待作业完成并获取结果
Wait-Job $backgroundJob
$totalReceivedBytes = Receive-Job $backgroundJob

# 转换为更易读的MB单位输出
Write-Host "30次采样周期内总接收字节数:$totalReceivedBytes 字节 ($([math]::Round($totalReceivedBytes / 1MB, 2)) MB)"

# 清理后台作业
Remove-Job $backgroundJob

关键代码解释

  • Get-Counter -Counter '\network adapter(*)\Bytes Received/sec':指定要读取的计数器路径,*代表匹配所有网络适配器;如果要指定某张网卡,把*换成具体适配器名称即可(比如\network adapter(WLAN)\Bytes Received/sec)。
  • -MaxSamples 30:设置采样次数,这里会每隔1秒采集一次(默认采样间隔),共采集30次。
  • CookedValue:这是计数器返回的校准后实际数值,区别于原始的RawValue,已经自动处理了计数器的基数和换算逻辑,直接用就行。
  • 后台作业:用Start-Job把统计逻辑放到后台,适合长时间采样场景,不会卡住当前PowerShell窗口。

三、扩展:统计发送字节数

如果要模拟任务管理器的「发送」数据,只需要替换计数器路径即可,修改脚本块如下:

$sendSumScript = {
    $counterResults = Get-Counter -Counter '\network adapter(*)\Bytes Sent/sec' -MaxSamples 30
    ($counterResults.CounterSamples | Measure-Object CookedValue -Sum).Sum
}

本质上,任务管理器就是持续循环读取这两个计数器的实时值,然后每秒更新一次UI展示——和我们用PowerShell做的事情逻辑完全一致,只是它做了更流畅的实时渲染和用户友好的界面封装~

内容的提问来源于stack exchange,提问作者John

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 07:03:06