如何测量特定应用程序发送和接收的数据量?

如何测量特定应用程序发送和接收的数据量?

我想要获取特定程序发送和接收的总字节数。

我知道通过选择网卡上下文菜单中的“状态”,我可以得到整台机器的总数,但不能得到每个应用程序的总数。

这可能吗?

答案1

有了这个马克·鲁西诺维奇Microsoft 工具

https://docs.microsoft.com/en-us/sysinternals/downloads/procmon

您可以在以下位置为进程名称或 PID 创建过滤器:筛选菜单。然后转到工具菜单和网络摘要

或者

https://docs.microsoft.com/en-us/sysinternals/downloads/tcpview

如果你有 powershell notion 并且想要编写自己的工具:

法语:

get-counter "\Processus(firefox*)\Nombre d’octets lus/s" -Continuous | foreach {
    [math]::round((($_.countersamples.cookedvalue | measure -sum).sum / 1KB), 2)
}

英语

get-counter "\Process(firefox*)\IO Read Bytes/sec" -Continuous | foreach {
    [math]::round((($_.countersamples.cookedvalue | measure -sum).sum / 1KB), 2)
}

使用此代码和此循环。创建一个总变量并在每次迭代中分配计算的总和。调整 KB,可以是 MB、GB...

将此脚本保存到文件 .ps1 中,打开命令提示符并执行此脚本,(CTRL+C 停止)

$process="firefox"
$totalKB = 0
while($true){    
    get-counter "\Process($process*)\IO Read Bytes/sec" | foreach {
        $totalKB += [math]::round((($_.countersamples.cookedvalue | measure -sum).sum / 1KB), 2)
    }
    Write-Host -NoNewline -ForegroundColor Yellow ("`r"+$process.ToUpper()+": "+([string]$totalKB)+" KB    ")
    Start-Sleep -Milliseconds 500
}
write-host

结果(例如,与 Linux Watch 相同的实时结果)

火狐浏览器:3256 KB

参考:

https://blogs.technet.microsoft.com/heyscriptingguy/2011/01/31/use-powershell-to-simplify-collecting-performance-information/

相关内容