You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Windows 10下如何按小时绘制指定服务或进程的上传下载历史图表?

Windows 10下如何按小时绘制指定服务或进程的上传下载历史图表?

嘿,我来给你分享几个实用的方法,帮你在Windows 10上按小时统计并绘制指定服务/进程的上传下载历史:

方法一:PowerShell脚本采集+Excel绘图

这个方法靠系统自带的PowerShell就能搞定,灵活性很高,步骤如下:

  1. 编写监控脚本
    新建一个文本文件,把下面的代码粘贴进去,替换$processName为你要监控的进程名(比如DoSvc对应的是dosvc.exe),保存为MonitorNetworkUsage.ps1
    $processName = "dosvc.exe" # 替换成目标进程名
    $logPath = "C:\ProcessNetworkLog.csv" # 日志保存路径,可自行修改
    $intervalHours = 1 # 每小时采集一次数据
    
    # 初始化CSV表头(如果日志文件不存在)
    if (-not (Test-Path $logPath)) {
        "时间,发送字节数(每秒),接收字节数(每秒)" | Out-File $logPath -Encoding UTF8
    }
    
    while ($true) {
        $currentTime = Get-Date -Format "yyyy-MM-dd HH:mm:ss"
        try {
            # 从系统性能计数器获取网络数据
            $sentBytes = (Get-Counter -Counter "\Process($processName)\Network Bytes Sent/sec").CounterSamples.CookedValue
            $receivedBytes = (Get-Counter -Counter "\Process($processName)\Network Bytes Received/sec").CounterSamples.CookedValue
            # 写入日志文件
            "$currentTime,$sentBytes,$receivedBytes" | Out-File $logPath -Append -Encoding UTF8
        } catch {
            Write-Host "采集数据失败: $_"
            "$currentTime,采集失败,采集失败" | Out-File $logPath -Append -Encoding UTF8
        }
        # 等待1小时后再次采集
        Start-Sleep -Seconds ($intervalHours * 3600)
    }
    
  2. 运行脚本
    右键以管理员身份打开PowerShell,切换到脚本所在的文件夹,执行命令. .\MonitorNetworkUsage.ps1启动监控。
  3. 生成图表
    采集足够数据后,打开保存的CSV文件,用Excel插入折线图,把“时间”设为横轴,“发送/接收字节数”设为纵轴,就能得到按小时的历史趋势图了。

方法二:系统自带性能监视器(Performance Monitor)

这是Windows原生的监控工具,操作更可视化:

  1. 按下Win+R,输入perfmon打开性能监视器。
  2. 在左侧导航栏找到数据收集器集用户定义,右键选择「新建」→「数据收集器集」。
  3. 给集命名,选择「创建手动(高级)」,点击下一步。
  4. 勾选「性能计数器」,点击下一步。
  5. 点击「添加」,在弹出的窗口中展开Process类别,找到Network Bytes Sent/secNetwork Bytes Received/sec,然后在右侧选中你要监控的进程(比如dosvc),点击添加后确定。
  6. 设置采样间隔为3600秒(也就是1小时),点击下一步。
  7. 选择数据保存的路径,点击完成。
  8. 右键启动这个数据收集器集,运行一段时间后,右键选择「最新报告」,就能查看统计数据,还可以直接在报告里生成图表,或者导出数据到Excel做进一步处理。

方法三:第三方工具(比如Process Hacker)

如果觉得手动操作麻烦,可以用免费开源的Process Hacker:

  1. 安装Process Hacker后打开,找到你要监控的进程/服务,右键选择「属性」。
  2. 切换到「性能」标签,这里能看到实时的网络收发数据,点击「日志」按钮,设置好日志保存路径和采样间隔(比如每小时)。
  3. 采集完成后,导出日志数据,用绘图工具就能生成历史图表了。

备注:内容来源于stack exchange,提问作者Franck Dernoncourt

火山引擎 最新活动