问题标签 [xperf]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2061 浏览

windows - 按进程及其线程查找 CPU 使用率和内核数

在 linux 中,我们有pstop命令可以提供有关进程 CPU 利用率以及它在哪些内核上运行的非常好的详细信息。

我们在 Windows 中是否有类似的东西可以提供进程及其线程以及 CPU 使用率以及它在命令行中运行的核心?

我看过了tasklistwmic但没有一个给出进程正在运行的核心。还有另一个名为Xperf的工具,但它似乎有些复杂,因为它与另一个工具一起使用以提供 GUI,我们可以在其中查找内核。

有什么简单的方法吗?

0 投票
1 回答
117 浏览

performance - Xperf 和 Tracelog 在 Windows 中显示 pmc 始终为零

我正在尝试在 Windows 10 中读取硬件性能计数器/PMC。我正在使用 tracelog 和 xperf 命令行启动跟踪。但 pmc 计数器读数始终为 0。(以管理员身份运行)

它工作正常,但重新启动后 pmc 计数值始终为 0。我是否需要激活一些服务才能让 pmc 访问 xperf/tracelog。

0 投票
1 回答
123 浏览

debugging - 如何在 WPA 或 PerfView 中查看磁盘是否已满

我正在使用 WPA 和 PerfView 来捕获跟踪以诊断 IIS 服务器挂起的原因。我们有理由相信,当时其中一张磁盘已满

有没有办法在这些工具(WPA、PerfView)中查看磁盘有多满?

我们从该工具中获得了许多有用且详细的信息,但我找不到这个简单的指标。

谢谢!

0 投票
1 回答
143 浏览

xperf - Xperf 或其他东西可以过滤特定过程的 etl 以缩小尺寸吗?

我正在使用 xperf 记录大量跟踪,我只查看特定进程(当然,当不查看每个内核的 CPU 使用率等时)。现在这些痕迹变得非常大,使用它们很乏味。

有没有办法从 etl 中删除进程以减小其大小?由于我没有检查跨进程问题,因此我永远不会查看它们,如果可以处理一次 etl 以减小它们的大小,以便打开和比较它们变得更容易,那就太好了。

0 投票
0 回答
36 浏览

windows - 在 xperf 输出中使用机器模式以通过自定义实用程序进一步解析有什么实质性好处?

所以我试图处理用 WPR 记录的性能数据并用 xperf 处理成 .csv 格式,它有两种模式,-target human-target machine,我可以看到不同之处在于机器模式似乎将事件从将相同的时间戳转换为一两行,但是在使用自定义外部实用程序解析此数据时,这是否有真正的好处?

我可以看到机器版本中的信息可能会少一些?

人类模式

机器模式:

0 投票
1 回答
73 浏览

windows - xperf -providers 不显示由 TRACELOGGING_DEFINE_PROVIDER 定义的 TraceLoggingProvider 的名称

我按照教程在我的应用程序中设置一个TraceLoggingProvider

在应用程序运行期间,我尝试使用xperf -providers来查看我的用户事件提供程序是否存在:我看不到我定义的名称,TRACELOGGING_DEFINE_PROVIDER但只显示了定义的 GUID。是有意的吗?

而不是按照另一个带有 WPRP 文件的教程xperf -start,我只是用来捕获事件。同样:我只能使用 GUID 作为参数,而不是定义的名称!也是有意的吗?

无论如何,最后我可以在 WPA 中正确查看结果,并且我的用户事件提供程序的定义名称是可见的。

我的所有观察都是有意的吗?

0 投票
1 回答
316 浏览

windows - Windows 性能分析器无法加载符号

我用 WPA 打开 .etl(由 xperf 生成)文件,我可以看到有关 Analysis 的信息: 在此处输入图像描述

我也想看看进程堆栈,我想我应该先加载符号。但是 Trace 中的 Load Symbols 是灰色的: 在此处输入图像描述

我想问一下如何加载符号来查看进程堆栈?

WPA 版本:10.0.19041.685(WinBuild.160101.0800)

操作系统版本:Windows Server 2019 数据中心

操作系统版本:17763.1637

0 投票
1 回答
242 浏览

windows - 如何使用 WPA 确定非分页池泄漏

在 Windows 操作系统上遇到问题 - NP 池的大小缓慢增加,几周后消耗高达数 GB。试图确定有故障的驱动程序(?),但运行这个:

两次(机器重启后和几个小时后)给了我这个:

WPA分析

即,我没有看到任何有关可能导致泄漏的进程\dll 的信息。我在进行跟踪时是否遗漏了一些参数,或者 WPA 不足以找到某些类型的泄漏?

@magicandre1981 问题是,在我的情况下,堆栈未列出: WPA 我不能在这里依赖影响大小,因为这里的泄漏速度非常慢,但是 NP 池的 400 MB 太大了。

PoolMon 显示主要是 Irp 和 FMic 泄漏:

重新启动后的 PoolMon

几个小时后的 PoolMon

0 投票
1 回答
201 浏览

windows - 如何解释 ETW 图的采样和精确 CPU 使用率,当它们相互矛盾时

我很难确定我们的应用程序在哪里花费时间。

查看来自采样的 ETW 跟踪的火焰图和精确的 CPU 使用情况,它们相互矛盾。以下是 1 秒持续时间的图表

根据“CPU 使用率(采样)”图

  1. vbscript.dll!COleScript::ParseScriptText是整体性能的重要贡献者。
  2. ws2_32.dll!recv是一个小贡献者。

根据“CPU使用率(精确)”图

从本质上讲,这表明情况正好相反?

  1. vbscript.dll!COleScript::ParseScriptText是一个很小的贡献者,只占用了 3.95 毫秒的 CPU。
  2. ws2_32.dll!recv是一个很大的贡献者,占用了 915.09 毫秒的 CPU。

我错过了什么或误解了什么?


CPU 使用率(采样)

CPU 使用率(采样)


CPU 使用率(精确)

CPU 使用率(精确)

0 投票
1 回答
308 浏览

windows - Windows Performance Analyzer (WPA) 中的 CPU(采样)图未显示

我正在尝试使用 xperf 在我的笔记本上进行收集。生成 .etl 文件。我正在使用包含精确和采样 CPU 配置文件的“诊断”。

但是,当在 WPA 上打开 .etl 时,它没有显示“采样”图,只是精确。做了一些搜索,我发现这可能与用于采样时序的硬件计数器有关。

但是,我的 xperf 显示 pmcsource 时间可用:

[![xperf pmcsources 输出][1]][1]

有人知道如何解决这个丢失的采样图吗?[1]:https ://i.stack.imgur.com/fVnNl.png