start
显示记录器启动选项。
xperf [-start [LoggerName] [ProfileFileName!ProfileName|SessionName]|-update [LoggerName]|[ProfileFileName!ProfileName|SessionName]] -flush [LoggerName] -save ProfileFileName!ProfileName|SessionName merged.etl -setprofint [<n>] [cached] -seteresourcesample <n1> <n2> <n3> -setspinlocksample <n1> <n2> <n3> -pooltag <P1>+<P2>+<P3>+<P4> -on (GUID|KnownProviderName)[:Flags[:Level[<:0xnnnnnnnn|’stack|[,]sid[,]tsid’]]]
命令 | 说明 |
---|---|
-start [LoggerName]|[ProfileFileName!ProfileName|SessionName]] |
启动 LoggerName 的日志记录会话,启动 ProfileFileName 文件中定义的配置文件 ProfileName 中的记录器,或者启动 ProfileFileName 文件中定义的记录器 SessionName。 |
-update [LoggerName]|[ProfileFileName!ProfileName|SessionName]] |
更新 LoggerName 的日志记录会话,更新 ProfileFileName 文件中定义的配置文件 ProfileName 中的记录器,或更新 ProfileFileName 文件中定义的记录器 SessionName。 |
-flush LoggerName |
刷新 LoggerName 的日志记录会话。 此参数是保存缓冲区模式跟踪所必需的(请参阅下面的 -buffering 参数)。 要保存缓区冲模式跟踪,必须签发 -flush 参数。 |
-capturestate LoggerName Flags |
从标志中指定的提供程序将状态捕获到非内核日志记录会话。 接受的提供程序格式与 -on 的相同。 如果指定了标志和级别,则在捕获状态时启用它们。 在使用 –buffering 选项启动的跟踪中调用此命令。 必须后跟 –stop 才能停止跟踪。 |
-on Flags|Groups |
对于内核日志记录会话,要启用的内核标志和组的序列用加号 (+) 分隔。 对于用户日志记录会话,要启用的提供程序的序列用加号 (+) 分隔。 接受的提供程序格式为 |
-f filename |
将事件记录到指定文件。 内核跟踪的默认值为 \Kernel.etl,用户跟踪的默认值为 \User.etl。 |
-buffersize Size |
将跟踪缓冲区大小设置为 Size,以 KB 为单位。 可能的值为 4 到 1024。 默认值为 64。 |
-minbuffers n |
将最小跟踪缓冲区数设置为 n。 默认值为 64。 |
-maxbuffers n |
将最大跟踪缓冲区数设置为 n。 默认值为 320。 |
-maxfile Size |
将最大文件大小设置为 Size MB。 |
-flushtimer n |
将刷新计时器设置为 n 秒。 |
-boottrace Flags|Groups|off |
配置 Windows 记录器的事件跟踪以跟踪启动。 将标志设置为“关闭”以关闭启动跟踪。 所有日志控制都可以与此命令结合使用。 与 -f 结合使用以记录到 \Perf.etl 以外的文件。 |
-realtime |
启用实时跟踪。 |
-buffering |
启用缓冲模式跟踪。 要保存,请使用 -flush。 -stop 选项不保存跟踪。 |
-filemode Mode |
设置文件模式。 默认值为“顺序”。 可能的模式:“顺序”、“循环”、“追加”和“新文件”。 |
-clocktype ClockType |
设置时钟类型。 默认值为“PerfCounter”。 可能的类型:“顺序”、“PerfCounter”、和“系统时间”。 |
-stackwalk flags|@file |
为指定为 |
-pids pid [...] |
将标志应用于进程 指定多个 pid 时,用空格隔开,如 |
-pidnewprocess <command-line> |
将标志应用于 Xperf 将以<命令行>开始的新进程。 与专用记录器结合使用。 |
-waitfornewprocess |
等待使用 |
-heap |
在由 Pid 和 PidNewProcess 指定的进程中启用堆跟踪。 |
-critsec |
在由 Pid 和 PidNewProcess 指定的进程中启用临界区跟踪。 |
-setprofint [<n>] [cached] |
将采样配置文件间隔设置为 |
-save ProfileFileName!ProfileName|SessionName merged.etl |
刷新文件 ProfileFileName 中定义的配置文件 ProfileName 中的记录器,并将 ETL 文件合并到 merge.etl;或刷新在文件 ProfileFileName 中定义的记录器 SessionName 并将 ETL 文件合并到 Merged.etl。 |
-seteresourcesample <n1><n2><n3> |
设置 ERESOURCE 采样,其中 n1 释放采样率大于或等于 1000,n2 争用采样率大于或等于 1,n3 过度超时次数大于或等于 1。 争用采样率是发生冲突时获取自旋锁事件的速率。 例如,如果此值为 100,则每 100 次自旋锁冲突获取一个自旋锁事件。 |
-setspinlocksample <n1><n2><n3> |
将自旋锁自旋阈值设置为 |
-pooltag <P1>+<P2>+<P3>+<P4> |
设置用加号 (+) 或分号 (;) 分隔的池标记筛选器 (Pn)。 对单字符通配符使用问号 (?),对多字符通配符使用星号 (*)。 最多可以指定四个筛选器。 |
可以使用多个启动选项启动多个记录器,每个选项后跟要应用于该记录器的选项。 如果省略 LoggerName 或 -start LoggerName
,则隐含内核记录器。 任何时候都只能存在一个内核记录器实例。 如果其中一个记录器无法启动,则所有已启动的记录器都将停止。