VSPerfCmd.exe 工具用于启动和停止性能数据收集。它使用以下语法:
VSPerfCmd [/U] [/options]
下表介绍 VSPerfCmd.exe 工具选项:
| 选项 | 说明 | 
|---|---|
| U | 重定向控制台的输出编写为 Unicode。必须是指定的第一个选项。 | 
| 开始:mode | 在指定模式下启动分析服务。 | 
| 输出:filename | 指定输出文件名。仅与 Start 一起使用。 | 
| 启用跨 Windows 会话的分析。仅与 Start、 Attach、 or Launch 一起使用。 | |
| 用户:[domain\]username | 使指定的帐户可以访问探查器服务。仅与 Start 一起使用。 | 
| WaitStart[:n] | 等待数据收集记录器初始化。如果指定了 n,则 VSPerfCmd 将最多等待 n 秒。如果没有指定 n,则 VSPerfCmd 将无限期等待。这就可以很容易地将 VSPerfCmd 用在批处理中。 | 
| 计数器:cfg | 使用采样分析方法时,指定 CPU 计数器和要用作采样间隔的事件数。可以只对一个计数器值进行采样。 使用检测分析方法时,指定要在每个检测点收集的 CPU 计数器。仅与 Start:Trace、 Attach 或 Launch 一起使用。 | 
| 显示当前计算机的有效 CPU 计数器列表。 | |
| WinCounter:path | 指定要包含分析标记数据的 Windows 性能计数器事件。仅与 Start 一起使用。 | 
| AutoMark:n | 指定两个 Windows 性能计数器数据收集事件之间的时间间隔(单位为毫秒)。与 WinCounter 一起使用。 | 
| 事件:option | 控制指定的 Windows 事件跟踪 (ETW) 事件的收集。ETW 数据收集到不属于分析数据 (.vsp) 文件的 .itl 文件中。 | 
| 显示探查器的状态、有关当前正在分析的进程的信息以及有权控制探查器的帐户。 | |
| Shutdown[:n] | 关闭分析数据文件并关闭探查器。 | 
| 调用 VSPerfCmdGlobalOff 后恢复数据收集。 | |
| 停止所有数据收集,但不结束分析会话。 | |
| ProcessOn:pid | 在通过调用 VSPerfCmdProcessOff 暂停分析后恢复指定进程的数据收集。 | 
| ProcessOff:pid | 停止指定进程的数据收集。 | 
| 在通过调用 VSPerfCmdThreadOff 暂停分析后恢复指定进程的分析。仅当使用检测方法进行分析时才使用 ThreadOn。 | |
| 暂停指定线程的分析。仅当使用检测方法进行分析时才使用 ThreadOff。 | |
| 标记:MarkNum[,MarkText] | 将标记插入到分析数据文件中,并可根据需要插入附加文本。 | 
采样方法选项
仅当使用采样分析方法时,下列选项才可用。
| 选项 | 说明 | 
|---|---|
| Launch:Executable | 启动指定的应用程序并开始分析。 | 
| Args:Arguments | 指定要传递给启动的应用程序的命令行参数。 | 
| 在一个新的命令提示窗口中启动指定的命令。 | |
| Attach:PID[,PID] | 开始分析指定的进程。进程可由进程 ID 或进程名称来标识。 | 
| Detach[:PID[,PID]] | 停止分析指定的进程。进程可由进程 ID 或进程名称来标识。如果未指定进程,则会中止所有进程的分析。 | 
| GC[:{Allocation|Lifetime}] | 收集 .NET 内存分配和对象生存期数据。仅与 VSPerfCmdLaunch 选项一起使用。 | 
采样间隔选项
下列选项指定采样间隔的类型和持续时间。默认值为 Timer。通过使用 Counter 选项,还可以将 CPU 计数器指定为间隔。这些选项只能与 Launch 或者分析会话的第一个 Attach 一起指定。
| 选项 | 说明 | 
|---|---|
| PF[:n] | 对每 n 个页面错误取样(默认值 = 10)。 | 
| Sys (VSPerfCmd)[:n] | 对每 n 个系统调用取样(默认值 = 10)。 | 
| Timer[:n] | 在每个第 n 个处理器周期采样(默认值 = 10000000)。 | 
服务组件和内核模式设备选项
以下 Admin 选项支持分析服务组件或内核模式设备驱动程序。Admin 选项设置分析权限并控制分析的服务或设备驱动程序。
必须在以管理凭据运行的命令提示下执行 Admin 选项。
| 选项 | 说明 | 
|---|---|
| Admin:Security <ALLOW|DENY> Right[ Right] <User|Group> | 允许或拒绝指定用户或组访问分析服务。 Right 可以是: CrossSession – 授予用户访问服务以进行跨会话分析的权限。 SampleProfiling - 授予用户访问驱动程序以启动取样分析的权限。也用于在跟踪分析期间访问内核转换信息。 FullAccess - 授予用户 CrossSession 和 SampleProfiling 访问权。 | 
| Admin:Security, List | 列出分析服务的当前状态并列出用户权限。 | 
| Admin:<Service|Driver><START|STOP|INSTALL|UNINSTALL> | 启动、停止、安装或卸载分析服务组件(服务)或内核模式设备驱动程序(驱动程序)。 | 
| Admin:<Service|Driver>AutoStart<ON|OFF> | 启用或禁用重新启动后自动启动分析组件(服务)或内核模式设备驱动程序(驱动程序)。 | 
VSPerfCmd /Driver
VSPerfCmd /Driver 选项现在已过时。请使用 VsPerfCmdAdmin 选项来实现此功能。