转自:http://blog.sina.com.cn/s/blog_13ad23d530102vqum.html
在本地和远程系统上,管理和调度性能计数器和事件跟踪日志。
语法动词
Logman [create {counter | trace} collection_name ] [start collection_name] [stop collection_name] [delete collection_name] [query {collection_name|providers}] [update collection_name]
MS-DOS命令参数
create {counter | trace} collection_name
创建对计数器或跟踪收集的收集查询。可以使用命令行选项指定设置。
start collection_name
开始数据收集查询 collection_name。使用该选项将计划收集更改为手动收集。在命令行中“update”参数,诸如开始时间 (-b),终止时间 (-e) 或重复时间 (-rt) 来重新调度集合。
stop collection_name
停止数据收集查询 collection_name。使用该选项将计划收集更改为手动收集。在命令行中“update”参数,诸如开始时间 (-b),终止时间 (-e) 或重复时间 (-rt) 来重新调度集合。
delete collection_name
删除数据收集查询 collection_name。如果 collection_name 不存在,则会收到错误消息。
query {collection_name|providers}
如果未指定 collection_name 或 providers,则显示所有现有收集查询的状态。使用 collection_name 显示特定集合的属性。要在远程计算机上显示属性,请使用命令行中的 -s remote computer 选项。使用 providers 作为关键字代替 collection_name,以便显示本地系统上已安装的注册提供程序。要列出远程系统上已安装的注册提供程序,请使用命令行中的 -s 选项。
update collection_name
更新对计数器或跟踪收集的收集查询。对于计数器收集,对查询的修改会终止并重新开始收集。对于跟踪收集,在命令行中使用如下参数,以便在不停止收集的情况下进行查询:-p provider [(flags[,flags ...])] Level, - max n, - o PathName, -ft mm:ss, or -fd.
语法选项
[-s computer_name] [-config FileName] [-b M/d/yyyy h:mm:ss[AM | PM]] [-e M/d/yyyy h:mm:ss[AM | PM]] [-m [start] [stop]] [-[-]r] [-o {Path | DSN!counter_log}] [-f {bin | bincirc | csv | tsv | SQL}] [-[-]a] [-[-]v [{nnnnn | mmddhhmm}]] [-[-] rc [FileName]] [-[-] max {value}] [-[-]cnf [[[hh:]]mm:]ss] [-c {Path [path ...] | -cf FileName}] [-si [[hh:]mm:]ss] [-ln logger_name] [-ets] [-[-] rt] [-p {GUID | provider [(flags [,flags...]}] Level | -pf FileName}] [-[-] ul] [-bs value] [-ft [[hh:]mm:]ss] [-nb min max] [-fd logger name] [-[-]u user password] [-rf [[hh:]mm:]ss] [-y] [-mode {trace_mode [trace_mode ...]}]
MS-DOS命令参数
-s computer_name
指明创建、开始、停止、删除、查询或更新命令操作将在远程系统上执行。默认情况下,这些命令用于本地系统。
-config FileName
指定包含命令行参数的设置文件的路径名。
-b M/d/yyyy h:mm:ss[AM | PM]
以 24 小时格式指定收集开始时间。通过在命令行添加 AM 或 PM,可以使用 12-小时格式指定收集开始时间。除非指定时间,否则默认情况下,使用当前日期和时间。使用手动开始选项立即开始收集。
-e M/d/yyyy h:mm:ss[AM | PM]
以 24 小时的格式指定收集结束时间。通过在命令行添加 AM 或 PM,可以指定 12 小时格式的收集结束时间。除非指定时间,否则默认情况下,使用当前日期和时间。使用手动停止,然后使用重复选项,在当前实际时间之前指定停止时间,否则会接收到错误消息。
-m start stop
通过在命令行中使用 start 和 stop 参数,手动指定开始和停止收集。不能在同一查询的命令行中一起使用 -m start 和 -b 或 -m stop 和 -e 或 -rf 参数。
-r
按照 -b 和 -rf 选项或 -b 和 -e 选项指定的时段每天重复收集查询。此命令只对在同一天、同一月和同一年中指定的开始时间和结束时间有效。
--r
关闭重复选项。
-o Path | DSN!counter_log
指定收集性能计数器和跟踪数据或 SQL 数据库和数据集位置的输出文件的路径名。要使用 DSN!counter_log 格式指定 SQL,请在命令行中使用 -f 选项。默认情况下,收集日志文件的名称是在收集查询名称前加上前缀 .blg(对于性能计数器)或 .etl(对于跟踪数据)。
-f {bin | bincirc | csv | tsv | SQL}
指定用于收集性能计数器和跟踪数据的文件格式。收集性能计数器时,可以使用二进制、循环二进制、逗号和制表符分隔或 SQL 数据库格式。必须在带 DNS!counter_log 选项的命令行中使用 -o 选项。对于 SQL 数据库格式,必须预定义数据库系统名称 (DSN),并且必须授予写入数据库的特权。数据集 counter_log 是在数据库中创建的,并由 DSN 指定。默认设置为二进制。
-a
可使用该选项追加文件。
--a
关闭追加命令选项,并回复到覆盖模式。
-v {nnnnn | mmddhhmm}
将版本控制信息添加到输出文件和路径名称的末尾。在版本控制中使用 nnnnn 数值格式或日期格式 mmddhhmm(月、日、24-小时、分钟)。
--v
关闭版本选项。
-rc FileName
指定在结尾关闭文件后或在收集期间运行此命令。将 -rf 选项与 -cnf 联合使用以便在收集期间关闭文件。使用 -stop 选项将会导致无法关闭此命令。命令总是在前台运行。
--rc
关闭运行此命令选项。
-max value
指定所集合的日志文件的最大值(兆字节)。如果日志文件的大小超过了该最大值,则集合将会停止。对于 SQL 数据库而言,其最大值即是可写入的记录数。
--max
关闭最大大小限制选项。这是默认选项。
-cnf [[hh:]mm:]ss
输出文件超过最大大小时或指定的时间已过去时,创建新文件。执行此命令时必须使用 -v 选项。默认情况下,每次收集期间只创建一个日志文件。
--cnf
关闭创建新文件选项。
-c {Path [path ...] | -cf FileName}
为日志指定性能计数器路径,或指定列出这些计数器的日志文件的路径名。要列出多个计数器路径,请使用空格分隔命令行,或者使用 -cf 选项在输入文件中列出计数器路径(每行记录一个)。
计数器路径的通用格式如下:[\\Computer]\object[parent/instance#index]\counter] where:
父节点、实例、索引和格式的计数器组件可以是有效名或通配符。不是所有计数器都必须具有计算机、父节点、实例和索引组件。
可以根据计数器本身决定计数器路径。例如,LogicalDisk 对象具有事例 index,所以必须提供 #index 或通配符。因此,可以使用如下格式:
\LogicalDisk(*/*#*)\*
相对而言,Process 对象不需要事例 index。因此,可以使用如下格式:
\Process(*)\ID Process
可用格式列表如下:
- \\machine\object(parent/instance#index)\counter
- \\machine\object(parent/instance)\counter
- \\machine\object(instance#index)\counter
- \\machine\object(instance)\counter
- \\machine\object\counter
- \object(parent/instance#index)\counter
- \object(parent/instance)\counter
- \object(instance#index)\counter
- \object(instance)\counter
- \object\counter
如果在父节点名称中指定了通配符,则将返回指定对象的所有与指定事例和计数器域匹配的事例。
如果在事例名称中指定通配符,则将返回指定对象和父节点对象中的所有事例(如果指定索引相应的所有事例名称与通配符匹配)。
如果在计数器名称中指定通配符,则将返回指定对象的所有计数器。
不支持部分计数器字符匹配。
-si [[hh:]mm:]ss
按小时、分钟和秒指定性能计数器集合的范例间隔。默认值是 15 秒。
-ln logger_name
指定事件跟踪记录会话的用户自定义名称。默认情况下,集合名称用作记录器名称。
-ets
通过命令行上指定的选项创建和开始事件跟踪会话。通过 create trace、update、query 和 delete 参数,使用此可选参数。
-rt
指定事件跟踪会话以实时模式运行,并不记录到文件。默认情况下,数据记录到文件。
--rt
关闭实时记录选项。
-p {GUID | provider [(flags[,flags ...])] Level] | -pf {FileName}
指定用于跟踪数据收集的提供程序(跟踪数据收集程序)。使用 logman 查询提供程序从注册提供程序列表查找 pname(提供程序名)。使用 -pf 选项列出多个提供程序。-pf 选项识别包含提供程序名称的输出文件。提供程序名称由引号 ("") 引起来,或者带有由括号、标志掩码和整数(启用级别)包括起来的 GUID。标志为十六进制 (OXFFFF) 或 (flag, flag) 格式。
-ul
指定以用户模式运行事件跟踪会话。如果使用 -ul 选项,则只能为事件跟踪会话启用一个提供程序。
--ul
指定关闭用户模式,并以内核模式运行事件跟踪会话。
-bs value
指定跟踪事件收集的缓冲大小(以 n 千字节表示)。
-ft [[hh:]mm:]ss
按分和秒指定用于跟踪数据收集的刷新计时器间隔。
-nb min max
指定跟踪数据收集的缓冲区的最小值和最大值。最小默认值是系统上处理器的数目加 2。最大默认值是 25。
-fd logger_name
将现有事件跟踪会话的所有活动缓冲区转储到磁盘。与 -ln 选项一起使用此选项。
-u user password
指定收集查询在本地或远程系统上使用的帐户名和密码。要开始收集用于收集查询的数据,请将“性能日志和警报”记录到远程系统。可以在命令行中将 * 用作密码,以便产生密码提示符。
--u
重新设置访问“性能日志和警报”服务帐户的帐户名。
-rf [[hh:]mm:]ss
指定收集在规定时段中运行。
-y
覆盖收集名称的设置,然后在不查询最终用户的情况下应用新设置。
-mode {trace_mode [trace_mode ...]}
只在 trace_mode 是 globalsequence、localsequence 或 pagedmemory 时,才指定跟踪会话的高级选项。Globalsequence 指定事件跟踪程序向其接收到的每个事件添加序列号,而不管是哪个跟踪会话接收到事件。Localsequence 指定事件跟踪程序为特定跟踪会话期间接收到的事件添加序列号。使用 localsequence 选项时,所有会话中可以存在重复序列号,但在每个跟踪会话内必须是唯一序列号。Pagedmemory 指定事件跟踪程序将在内部缓冲区分配中使用页面内存池,而不是使用默认的非页面内存池。
/?
在命令提示符显示帮助。
MS-DOS命令注释
- 命令行动词 create、update、start、stop、delete 以及 query 的有效选项是:
-s remote machine name
-[-]u Domain/username password
- create 和 update 的有效选项以及 counter 和 trace 的常用选项是:
-y
-b M/d/yyyy h:mm:ss [AM|PM]
-e M/d/yyyy h:mm:ss [AM|PM]
-rf hh:mm:ss
-m start stop
-f bin|bincirc
-r
-o PathName
-[-]a
-[-]v nnnnn|mmddhhmm
-[-]rc command pathname
-[-]max n
-[-]cnf hh:mm:ss
- 只有 counters 的常用选项是:
-f bin|bincirc|csv|tsv|SQL
-o PathName | DSN!counter_log
- create counter 的常用选项是:
-c counterpath | -cf input file
-si [[hh:]mm:]ss
这些选项更新计数器,并将停止和开始收集。
- 用于跟踪收集的 update 的选项:
/n/
- o PathName
-ft mm:ss
-fd
这些选项将在不停止收集的情况下查询跟踪收集。
- 只使用 counters 的有效选项是:
-f bin|bincirc|csv|tsv|SQL
-o PathName | DSN!counter_log
- 使用 create counter 命令的有效选项是:
counterpath | -cf input file
-si hh:mm:ss
- 使用 create trace 命令的有效选项是:
-ln logger name
-[-]rt
-p Guid | provider (flags[,flags ...]) level | -pf FileName
-[-]ul
-bs n
-ft mm:ss
-nb min max
-fd logger name
-ets
- 使用 -config 选项
与 -config 选项一起使用的设置文件的内容应具有如下格式:
[command_option]
value
其中 command_option 是命令行选项,然后在 value 指定其值。例如:
[create]
counter logx
-s
mysystem
-u
mypassword
- 使用 -mode 选项
如果是高级用户,应该只使用此选项。
-
管理性能监视器
只能使用 Logman 来管理运行 Windows 2000 或 Windows XP 的系统。
-
有关如何将 Logman 合并到 Windows 管理工具 (WMI) 脚本中的详细信息,请在 Microsoft 资源库网站上参阅“脚本日志和监视”。(http://www.microsoft.com/) https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/logman-create-counter
MS-DOS命令范例
下列范例中的日期格式仅适用于美国本地时间。
要通过开始时间和结束时间、重复收集、版本控制号、计数器路径以及范例间隔来创建日常计数器收集查询,请键入:
Logman create counter daily_perf_log -b 7/27/2000 13:00:00 -e 7/27/2000 15:00:00 -r -v mmddhhmm -c "\Processor(_Total)\% Processor Time" "\Memory\Available bytes" -si 00:15 -o "c:\perflogs\daily_log"
要通过开始时间和结束时间、重复收集、输出文件收集、版本控制号、计数器路径以及范例间隔来创建日常收集查询,请键入:
Logman create counter daily_perf_log -b 7/27/2000 13:00:00 -e 7/27/2000 15:00:00 -r -o "c:\perflogs\daily_log" -v mmddhhmm -c "\Processor(_Total)\% Processor Time" "\Memory\Available bytes" -si 00:15
要使用配置文件而不是命令行文件来创建日常收集查询,请键入:
Logman -config file daily_perf.txt
要通过开始时间和结束时间、重复收集、版本控制号、提供程序名称、输入和输出文件收集来创建日常跟踪收集查询,请键入:
Logman create trace daily_kernel_trace_log -b 7/27/2000 13:00:00 -e 7/27/2000 15:00:00 -r -v mmddhhmm -p "Windows Kernel Trace" 0xFFFFFFFF -rf 100 -o "c:\perflogs\daily_nt_trace"
要通过开始时间和结束时间、重复收集、版本控制号、Guid 和记录器名称、输入和输出文件收集来创建日常跟踪收集查询,请键入:
Logman create trace daily_lsass_trace_log -b 7/27/2000 13:00:00 -e 7/27/2000 15:00:00 -r -v mmddhhmm -p "Local Security Authority(LSA) " 0x00000001 -rf 30:00 -o " c:\perflogs\daily_lsass_trace"
要通过开始时间和结束时间、重复收集、版本控制号、计数器路径、范例间隔、SQL 格式以及输出文件收集创建日常计数器收集查询,请键入:
Logman create counter daily_perf_log -b 7/27/2000 13:00:00 -e 7/27/2000 15:00:00 -r -v mmddhhmm -c "\Processor(_Total)\% Processor Time" "\Memory\Available bytes" -si 00:15 -f sql -o perfdb!daily_log
要通过范例间隔、帐户名和密码来开始日常收集,请键入:
Logman start daily_perf_log -s \\%computer_name% -u admin "adminpassword"
要开始手动数据收集,请键入:
Logman start daily_perf_log
要停止数据收集,请键入:
Logman stop daily_perf_log
要删除数据收集,请键入:
Logman delete daily_perf_log
要显示收集查询的状态,请键入如下命令:
Logman query
Logman query daily_perf_log
附:性能计数器自动收集方法
1、在桌面云测试中,往往需要模拟并发连接中服务器的性能数据,这里主要介绍如何自动收集性能数据
2、创建xxxx.bat文件,文件内容如下:
logman create counter test -cf logman.txt -o log.csv -f "csv" -si 1 -v "mmddhhmm"
logman start test
ping 127.1 -n 15 >nul
logman stop test
logman delete test
pause
备注:xxxx.bat同级目录下,存在文件:logman.txt,文件内容如下:
\Memory\Available Bytes
\Memory\Pages Input/sec
\Memory\Pages Output/sec
\Memory\Pages/sec
\PhysicalDisk(_Total)\% Disk Time
\PhysicalDisk(_Total)\Avg. Disk Queue Length
\Processor(_Total)\% Processor Time
\SQLServer:Buffer Manager\Buffer cache hit ratio
\SQLServer:General Statistics\User Connections
\System\Processor Queue Length
备注:这里是要记录的计数器列表
3、输出结果如下:log_09281706.csv,里面详细记录了每一个计数器的数据收集情况
4、参考内容:
logman创建计数器
https://technet.microsoft.com/zh-cn/library/cc788038
Windows性能计数器(命令行方式):
http://www.cnblogs.com/moriarty/archive/2012/05/03/2480991.html
DOS命令大全:Logman命令详解
http://www.feiesoft.com/windows/cmd/nt_command_logman.htm
logman官网介绍:
https://technet.microsoft.com/zh-cn/library/cc788038(v=ws.10).aspx