gpt4 book ai didi

performance - 使用 Powershell 的进程的网络使用情况

转载 作者:行者123 更新时间:2023-12-04 03:06:22 27 4
gpt4 key购买 nike

我想计算特定进程发送和接收的字节数。我想为此使用 powershell。
我可以使用资源监视器-> 网络事件来做一些事情。
我如何使用 get-counter 做到这一点?

最佳答案

你不能,看来。我绝对找不到性能监视器正在读取的计数器,尽管其他人可能会插话。可能还有其他方法而不是 get-counter ,但这是您特别要求的。

查看计数器,您会发现最接近的是进程对象上的“IO Read Bytes/sec”和“IO Write Bytes/sec”计数器。

这些问题的问题在于,它们不仅仅计算网络事件。 perfmon 中的描述说:

"This counter counts all I/O activity generated by the process to include file, network and device I/Os."



话虽如此,如果您知道您只想监控或主要写入网络连接的进程,这可能比根本不测量任何东西要好。

你会这样做(我将使用 Chrome 作为示例,因为它现在可以方便地运行和使用数据):
get-counter "\Process(chrome*)\IO Read Bytes/sec"

这只会给你一次性阅读。如果您想继续阅读,可以添加连续开关。

返回的 PerformanceCounterSampleSet 对象并不完全适合使用,但您可以在 $obj.countersamples.cookedvalue 中找到实际读数。

该列表将相当长(如果您像我一样浏览)。 Chrome 在许多单独的进程中运行,因此我们将做一些数学运算以将它们全部加起来,并以 KB 显示。

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

运行它只会持续输出 Chrome 正在使用多少 KB/s 的读数。

关于performance - 使用 Powershell 的进程的网络使用情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15749139/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com