我正在运行这个 PerfView 命令:
PerfView.exe /Merge:true /zip:true /NoNGenRundown /NoClrRundown /KeepAllEvents /ThreadTime /DumpHeap /NoView /NoGui /MaxCollectSec:30 collect
但似乎即使我定义/MaxCollectSec:30
为 30 秒,实际的数据收集过程也不会停止并继续将数据添加到PerfViewData.etl
文件中
这是 Perfview 在运行命令时打开的控制台窗口的输出:
详细登录:PerfViewData.log.txt
执行:PerfView /Merge:true /zip:true /NoNGenRundown /NoClrRundown /KeepAllEvents /ThreadTime /DumpHeap /NoView /NoGui /MaxCollectSec:30 收集
Pre V4.0 .NET Rundown 已禁用,键入“E”以启用 V3.5 进程的符号。
不要关闭此控制台窗口。它将继续收藏!
键入 S 停止收集,'A' 将中止。
内核日志:C:\PerfView\PerfViewData.kernel.etl
用户模式日志:C:\PerfView\PerfViewData.etl
2017 年 12 月 7 日 14:26:32 开始收集
收集 10 秒:大小 = 10.5 MB。
收集 20 秒:大小 = 16.4 MB。
超过 MaxCollectSec 30
所以这里是:Exceeded MaxCollectSec 30
但继续写入 etl 文件。
我想向客户端发送一个 Perfview 命令以收集系统范围的数据并将包含来自 Perfview 的所有 ETL 文件的 zip 文件发回给我。目前命令不会停止 - 有人知道为什么吗?我应该从命令中添加/删除什么,以便它在 30 秒后自动停止?