TPROF is based on the sampling technique which encompasses the following steps:
TPROF is a two-step process:
It is useful to know that there is no single tool named TPROF. In fact, what is referred to a TPROF, is a collection of tools working together to carry out the process:
The TPROF process is encapsulated in the run.tprof script. The script interacts with the user (it can also run without user interaction) to:
The process has the same "look and feel" on all platforms. They all provide the run.tprof script and the TPROF reports look the same. As is to be expected, there are minor differences dictated by the platform. For example, path separators are different on Windows ("\") and Linux ("/").
The word "TPROF" can be used as noun or verb
The mode is selected either by modifying toolsenv.cmd or by specifying the mode via the run.tprof command. See below.
Jitted code runs from memory - it does not have a symbol (method in a class file) associated with it. If a TPROF tick were to occur in a jitted method it would not be able to give a method name.
To take care of that problem we ship a Java profiler, jprof.dll, which can produce jitted method translation information so the post-processing tools can correctly map TPROF ticks in jitted code to a method name.
You must invoke java using the '-Xrun' option (Java 5.0 and earlier) or the '-agentlib' option (Java 5.0 and later). For WAS, which reads XML files containing options, you must enter the -Xrun/-agentlib option in the appropriate XML configuration file.
For Java 5.0 and earlier:
For Java 5.0 and later:
run.tprof: Coordinates the TPROF procedure
Syntax:
-------
run.tprof [-a | -t | -p] [-b #] [-m [time | event]] [-s #] [-r #] [-M [fn]]
Options valid with '-m time':
[-c #ticks_per_second]
Options valid with '-m event':
[-e event_name] [-c #evts]
To get help:
[? | -? | /? | ?? | -?? | /??] (Windows only)
[-h | -h verbose] (Linux only)
Where:
------
-a Run entire TPROF procedure.
* !!! THIS IS THE DEFAULT AND NEED NOT BE SPECIFIED !!!
* Performs the trace and post-processing steps.
* Produces a raw trace file (swtrace.nrm2) and a TPROF report
file (tprof.out).
* This option is mutually exclusive with -t and -p.
-t Run tracing only.
* Performs only the tracing (ie. data collection) step of the
TPROF procedure.
* Produces a raw trace file (swtrace.nrm2).
* The trace will not be post-processed. You can post-process
the trace at a later time by invoking run.tprof with the
-p option.
* This option is mutually exclusive with -a and -p.
-p Run post-processing only.
* Performs only the post-processing step of the TPROF procedure.
* It requires a trace file (swtrace.nrm2) and assumes that you've
already done the tracing step, either by itself (via a previous
-t) or in a previous complete run (via -a).
* Produces a TPROF report file (tprof.out).
* This option is mutually exclusive with -a and -t.
-b # Set trace buffer size to # MB **PER PROCESSOR**
* You can also set this value using the IBMPERF_TPROF_BUFFER_SIZE
environment variable in the toolsenv.cmd configuration file.
-m mode Set the TPROF mode.
* Valid modes are:
- TIME
This causes TPROF to run in TIME-based mode.
In this mode sampling is based on time and the time between
samples is constant. The sampling rate can set via the -c
option.
- EVENT
This causes TPROF to run in EVENT-based mode.
In this mode sampling is based on event counts and the time
between samples is not constant. The sampling event count
can set via the -c option.
* Default mode is TIME.
* You can also set this value using the IBMPERF_TPROF_MODE
environment variable in the toolsenv.cmd configuration file.
-e event Set event name when in EVENT-based mode.
* 'event' is the name of an event. Valid event names can be
obtained by entering the "SWTRACE EVENT LIST" command.
- Event names are not case sensitive. INSTR is the same as
Instr or iNStr or instr or ...
- An event count can be set using the -c option.
* Default event name is INSTR.
* You can also set this value using the IBMPERF_TPROF_EVENT
environment variable in the toolsenv.cmd configuration file.
-c #evts Set tick rate (TIME-based) or event count (EVENT-based).
* If mode is TIME then #evts represents the desired TPROF tick
rate, in ticks/second.
- Default tick rate is 128 ticks/second.
- You can also set this value using the IBMPERF_TPROF_TICK_RATE
environment variable in the toolsenv.cmd configuration file.
* If mode is EVENT then #evts represent the number of events
after which a TPROF tick will occur.
- Default event count is 10,000,000 events.
- You can also set this value using the IBMPERF_TPROF_EVENTCNT
environment variable in the toolsenv.cmd configuration file.
* Setting the rate too high may affect overall system performance.
* Setting the rate too low may not collect enough samples.
* Set a rate that is neither too high nor too low :-)
-s # Automatically start tracing after approximately # seconds.
* You WILL NOT be prompted for when to start tracing. Instead,
tracing will start automatically after a delay of approximately
# seconds.
* If you DO NOT specify the -r option, you will be prompted for
when to stop tracing.
* If you specify 0 (zero), or a non-numeric value, tracing is
started immediately.
* If you use this option your application should be started and
warmed up by the time tracing is started.
* Only applicable with -a or -t. Ignored otherwise.
* Default is to prompt for when to start tracing.
-r # Run (trace) for approximately # seconds.
* You WILL NOT be prompted for when to stop tracing. Instead,
tracing will stop automatically after a delay of approximately
# seconds from the time tracing was started.
* If you DO NOT specify the -s option, tracing is stopped
approximately # seconds after you press ENTER to start the trace.
* If you specify 0 (zero), or a non-numeric value, tracing is
stopped immediately after being started.
* If you use this option your application should complete the
scenario you want to trace in the approximately the amount of
time you specify with this option.
* Only applicable with -a or -t. Ignored otherwise.
* Default is to prompt for when to stop tracing.
-M [fn] Combine the tprof.out, tprof.micro, log-jita2n*, log-jtnm* and
post.show files into a single file.
* Done if no errors are encountered generating the TPROF report.
* You can also set this option using the
IBMPERF_TPROF_GENERATE_MERGE_FILE and IBMPERF_TPROF_MERGE_FILE_NAME
environment variables in the toolsenv.cmd configuration file.
* If fn is specified that will be the name of the combined file.
* Default fn is: tprof_e.out. fn can not be specified on Linux.
Notes:
------
* In a rare (for me) departure from normal Windows operation, command
options are now case sensitive. -a is no longer treated the same as -A.
Be warned.
* Options are parsed from left to right. If you specify an option more
than once, the rightmost option is used.
* -a, -t and -p are exclusive options: only one of them is allowed.
* -b, -m, -c and -e override the values set in 'toolsenv.cmd' environment
variables.
* The meaning of -c varies depending on the mode. It is assumed to be a
rate (ticks/second) in TIME-based mode, or an event count in EVENT-based
mode.
* -e is ignored if the current mode is TIME.
* -s and -r are useful if you are automating the TPROF procedure and have
an idea of how long it takes for the scenario to start up (-s option)
and how long you want to TPROF for (-r option).
* Time delays specified with -s and -r are approximate. Specifying 5
doesn't mean exactly 5 seconds. It will be about 5 seconds.
* Valid option combinations:
No options Run entire procedure. Prompt to start and stop trace.
-a Same as no options.
Trace start/stop controlled by -s/-r.
-t Trace only. No post-processing.
Trace start/stop controlled by -s/-r.
-p Post-process only. No tracing.
No -s and no -r Prompt to start and prompt stop tracing.
-s # Automatically start tracing in # seconds.
Prompt to stop.
-r # Prompt to start tracing. Automatically stop tracing
approximately # seconds after tracing started.
-s # -r # Automatically start tracing in approximately # seconds.
Automatically stop tracing approximately # seconds
after tracing started.
* Windows batch language does not provide a way to check whether a value
is a valid number or not. As such, the values entered with the -s, -r,
-b and -c options are not checked. A non-numeric value is the same as
entering 0 (zero).
* run.tprof won't run if environment variable IBMPERF_TOOLS_PATH isn't set.
Customization: (Windows only)
--------------
All customization should be done via one of the three (3) available
methods. You *SHOULD NOT* modify this (run.tprof.cmd) command file.
1) TOOLSENV.CMD:
This command file sets pre-defined environment variables used by the
tools to achieve some level of customization.
* It is created by TINSTALL the first time you install the tools
* It resides in the tools bin directory
* It is self-documenting (if you can believe that). You just need to
spend a few minutes reading it.
The first thing run.tprof does is to execute TOOLSENV.CMD. It tries
to locate it along the PATH, if that fails it tries .\bin\TOOLSENV.CMD
and if that fails it gives up.
Please take the time to understand what you can do with TOOLSENV.CMD.
2) USERXBEGIN.CMD:
This is the "begin user exit" command file. If present it will be
executed immediately after TOOLSENV.CMD is executed.
* It is assumed to be reachable either via the PATH environment
variable or in the current directory.
* It is invoked via a CALL. That means you should not have an "exit"
statement in it.
* It is not passed any arguments
* In it you are free to do anything you want:
- Clean up files
- Do special set up for your scenario
- Whatever else you want
* An empty USERXBEGIN.CMD is included in the package. It is up to
you to modify it if you wish.
3) USERXEND.CMD:
This is the "end user exit" command file. If present it will be
executed immediately after successful execution of run.tprof BUT before
run.tprof terminates.
* It is assumed to be reachable either via the PATH environment
variable or in the current directory.
* It is invoked via a CALL. That means you should not have an "exit"
statement in it.
* It is not passed any arguments
* In it you are free to do anything you want:
- Clean up/copy/move/rename files
- Do additional post-processing
- Whatever else you want
* An empty USERXEND.CMD is included in the package. It is up to
you to modify it if you wish.
Examples:
---------
1) run.tprof
Runs the entire TPROF procedure. You are prompted to start and stop
the trace. Generates TPROF report.
Same as: 'run.tprof -a'
2) run.tprof -s 10 -r 60
Runs the entire TPROF procedure. Tracing starts automatically after
about a 10 seconds delay. Tracing stops automatically about 60 seconds
after being started. Generates TPROF report. There are no prompts -
everything happens automatically.
Same as: 'run.tprof -a -s 10 -r 60'
3) run.tprof -t
Runs the trace step of the TPROF procedure. You are prompted to start
and stop the trace. Does not generate a
TPROF report.
4) run.tprof -t -s 10 -r 60
Runs the trace step of the TPROF procedure. Tracing starts automatically
after about a 10 seconds delay. Tracing stops automatically about 60
seconds after being started. There are no prompts - everything happens
automatically.
5) run.tprof -t -s 10
Runs the trace step of the TPROF procedure. Tracing starts automatically
after about a 10 seconds delay. You are prompted for when to stop tracing.
6) run.tprof -p
Runs the post-processing step of the TPROF procedure. You are prompted
to start and stop the trace. Only generates a TPROF report.
7) run.tprof -m event -e l2_read_refs -c 100000 s 10 -r 60
Runs the entire TPROF procedure. Sampling is EVENT-based, using event
L2_READ_REFS and sampling every 100,000 occurrences. Tracing starts
automatically after about a 10 seconds delay. Tracing stops
automatically about 60 seconds after being started. Generates TPROF
report. There are no prompts - everything happens automatically.
8) run.tprof -m event -e l2_read_refs -c 100000 s 10 -r 60 -M mt_file
Same as number 7) above but the mergetprof command is run.
MERGETPROF output will be in file 'mt_file'.
Here are a couple of examples of how the environment variables are documented. The text in GREEN are "remarks" (comments) and document the given environment variable that follows the remarks.
Rem Rem IBMPERF_DATA_PATH Rem ***************** Rem Rem Used by: TPROF, ITRACE Rem Rem This variable should point to the directory where you want your Rem traces, TPROF and ITRACE reports, and any other intermediate files, Rem *EXCEPT* jita2n and jtnm files, to go. Rem Rem Directory names must be fully qualified - no relative paths. Rem Rem ***** If you don't set IBMPERF_DATA_PATH the default is to write Rem ***** files to the directory specified by the IBMPERF_TOOLS_PATH Rem ***** environment variable. Rem SET IBMPERF_DATA_PATH=%IBMPERF_TOOLS_PATH% Rem Rem IBMPERF_TPROF_MODE Rem ****************** Rem Rem Used by: TPROF Rem Rem This variable should be set to the mode in which TPROF is to be run. Rem Rem Valid modes are: TIME or EVENT Rem - TIME: Rem Sampling is based on time and the sampling rate is controlled via Rem the IBMPERF_TPROF_TICK_RATE environment variable. In this mode the Rem time between sampling intervals is constant. Rem ***** This is the default way of running TPROF. Rem - EVENT: Rem Sampling is based on an event count. The event and the sampling count Rem are controlled via the IBMPERF_TPROF_EVENT and IBMPERF_TPROF_EVENTCNT Rem environment variables. In this mode the time between samples is Rem variable, depending on how often the requested event is counted. Rem Rem ***** If you don't set IBMPERF_TPROF_MODE, or set it to an invalid value, Rem ***** the default is TIME. Rem SET IBMPERF_TPROF_MODE=TIME
Here is the list, and a quick description, of the environment variables that can be set in toolsenv.cmd to control TPROF:
One thing to keep in mind is that you must not exit the command file. Instead, let the flow of control reach the end. That is necessary because the command file is "called" and, since there is no "return" in batch language, control must reach then end to cause an implied return.
The tools ship with an empty userxbegin.cmd file.
Again, same limitations as above with userxbegin.cmd: you must not exit the command file. Instead, let the flow of control reach the end.
The tools ship with an empty userxend.cmd file.
Regardless of how choose to specify the event, you still run TPROF the same way: run.tprof.
Let's suppose you want to set up counter 14 (assumes a P4 machine) to count "non-bogus micro-ops retired". You need to set:
With MSR you would set up the counter like this:
Specifying a counter as an event does not work if HyperThreading is enabled. That is because both logical processors (LPs) share the counters so you won't be able to split the counts by LP. What we do in that case is to set a different counter for each LP and manage TPROF that way. However, on the command line there is no way to associate a counter with an LP. That's why we have events defined and we handle it correctly when HT is enabled. Someday I'll fix the command line interface to allow you to specify one counter for each set of LPs within a processor.
It goes without saying, but I'll say it anyway, that when using event-based TPROF the time interval between samples is variable, and it varies depending on the event being used, the frequency (count) and the characteristics of the application being profiled. If you need a constant time interval between samples use time-based TPROF or use the NONHALTED_CYCLES event.
The report contains several stanzas (sections), each one offering a different view of the distribution of the samples.
C:\ibmperf\v20080430-GA\bin>watch
*** ~MHz: 2657 ***
*** ThirtyTwo
*** Sixteen
*** Eight
*** Four
*** Two
*** One
*** Done ***
The important thing to notice in the report, in the Process_Module_Symbol
stanza, is the proportion of samples/ticks in each watch.exe function:
Here is the report ...
Tprof Reports
Platform : Windows-x86
ProcessorSpeed 2658000000
TraceCycles 173148923700
TraceTime 65.143(sec)
TOTAL TICKS 16674
(Clipping Level : 0.0 % 0 Ticks)
================================
TPROF Report Summary
)) Process
)) Process_Module
)) Process_Module_Symbol
)) Process_Thread
)) Process_Thread_Module
)) Process_Thread_Module_Symbol
)) Module
)) Module_Symbol
================================
================================
)) Process
================================
LAB TKS %%% NAMES
PID 8588 51.51 IdleProcess_0000
PID 8063 48.36 watch.exe_0a4c
PID 14 0.08 iclient.exe_02e8
PID 3 0.02 vsmon.exe_00b4
PID 2 0.01 winlogon.exe_0254
PID 2 0.01 svchost.exe_0410
PID 1 0.01 csrss.exe_02b4
PID 1 0.01 cmd.exe_0aec
================================
)) Process_Module
================================
LAB TKS %%% NAMES
PID 8588 51.51 IdleProcess_0000
MOD 8585 51.49 C:\WINDOWS\system32\DRIVERS\intelppm.sys
MOD 2 0.01 C:\WINDOWS\system32\hal.dll
MOD 1 0.01 C:\WINDOWS\system32\ntkrnlpa.exe
PID 8063 48.36 watch.exe_0a4c
MOD 8062 48.35 C:\ibmperf\v20080430-GA\bin\watch.exe
MOD 1 0.01 C:\WINDOWS\system32\hal.dll
PID 14 0.08 iclient.exe_02e8
MOD 7 0.04 C:\WINDOWS\system32\ntkrnlpa.exe
MOD 2 0.01 C:\WINDOWS\System32\Drivers\Ntfs.sys
MOD 2 0.01 C:\WINDOWS\system32\ntdll.dll
MOD 1 0.01 C:\WINDOWS\system32\drivers\ssrtln.sys
MOD 1 0.01 C:\WINDOWS\system32\USER32.dll
MOD 1 0.01 C:\WINDOWS\system32\hal.dll
PID 3 0.02 vsmon.exe_00b4
MOD 1 0.01 C:\WINDOWS\system32\VSUTIL.dll
MOD 1 0.01 C:\WINDOWS\system32\ZoneLabs\VSRULEDB.DLL
MOD 1 0.01 C:\WINDOWS\system32\hal.dll
PID 2 0.01 winlogon.exe_0254
MOD 1 0.01 C:\WINDOWS\system32\ntkrnlpa.exe
MOD 1 0.01 C:\WINDOWS\System32\Drivers\Ntfs.sys
PID 2 0.01 svchost.exe_0410
MOD 1 0.01 c:\windows\system32\rpcss.dll
MOD 1 0.01 C:\WINDOWS\system32\KERNEL32.dll
PID 1 0.01 csrss.exe_02b4
MOD 1 0.01 C:\WINDOWS\System32\RDPDD.dll
PID 1 0.01 cmd.exe_0aec
MOD 1 0.01 C:\WINDOWS\system32\ntdll.dll
================================
)) Process_Module_Symbol
================================
LAB TKS %%% NAMES
PID 8588 51.51 IdleProcess_0000
MOD 8585 51.49 C:\WINDOWS\system32\DRIVERS\intelppm.sys
SYM 8585 51.49 AcpiC1Idle
MOD 2 0.01 C:\WINDOWS\system32\hal.dll
SYM 1 0.01 READ_PORT_UCHAR
SYM 1 0.01 READ_PORT_BUFFER_USHORT
MOD 1 0.01 C:\WINDOWS\system32\ntkrnlpa.exe
SYM 1 0.01 ExfInterlockedCompareExchange64
PID 8063 48.36 watch.exe_0a4c
MOD 8062 48.35 C:\ibmperf\v20080430-GA\bin\watch.exe
SYM 4095 24.56 ThirtyTwo
SYM 2048 12.28 Sixteen
SYM 1024 6.14 Eight
SYM 512 3.07 Four
SYM 255 1.53 Two
SYM 128 0.77 One
MOD 1 0.01 C:\WINDOWS\system32\hal.dll
SYM 1 0.01 KeAcquireQueuedSpinLock
PID 14 0.08 iclient.exe_02e8
MOD 7 0.04 C:\WINDOWS\system32\ntkrnlpa.exe
SYM 1 0.01 _SEH_epilog
SYM 1 0.01 IopfCallDriver
SYM 1 0.01 KeQuerySystemTime
SYM 1 0.01 __KeGetCurrentThread
SYM 1 0.01 NtQueryDirectoryFile
SYM 1 0.01 ExpInterlockedPopEntrySListEnd
SYM 1 0.01 ObReferenceObjectByHandle
MOD 2 0.01 C:\WINDOWS\System32\Drivers\Ntfs.sys
SYM 1 0.01 NtfsCompleteRequest
SYM 1 0.01 NtfsPurgeFileRecordCache
MOD 2 0.01 C:\WINDOWS\system32\ntdll.dll
SYM 1 0.01 RtlDosPathNameToNtPathName_Ustr
SYM 1 0.01 ExpInterlockedPopEntrySListEnd
MOD 1 0.01 C:\WINDOWS\system32\drivers\ssrtln.sys
SYM 1 0.01 <<.text>>
MOD 1 0.01 C:\WINDOWS\system32\USER32.dll
SYM 1 0.01 PtiCurrent
MOD 1 0.01 C:\WINDOWS\system32\hal.dll
SYM 1 0.01 KfRaiseIrql
PID 3 0.02 vsmon.exe_00b4
MOD 1 0.01 C:\WINDOWS\system32\VSUTIL.dll
SYM 1 0.01 <<.text>>
MOD 1 0.01 C:\WINDOWS\system32\ZoneLabs\VSRULEDB.DLL
SYM 1 0.01 <<.text>>
MOD 1 0.01 C:\WINDOWS\system32\hal.dll
SYM 1 0.01 KeReleaseQueuedSpinLock
PID 2 0.01 winlogon.exe_0254
MOD 1 0.01 C:\WINDOWS\system32\ntkrnlpa.exe
SYM 1 0.01 KiFastCallEntry
MOD 1 0.01 C:\WINDOWS\System32\Drivers\Ntfs.sys
SYM 1 0.01 NtfsFindFreeBitmapRun
PID 2 0.01 svchost.exe_0410
MOD 1 0.01 c:\windows\system32\rpcss.dll
SYM 1 0.01 CMutexLock::Lock
MOD 1 0.01 C:\WINDOWS\system32\KERNEL32.dll
SYM 1 0.01 InterlockedDecrement
PID 1 0.01 csrss.exe_02b4
MOD 1 0.01 C:\WINDOWS\System32\RDPDD.dll
SYM 1 0.01 DrvTextOut
PID 1 0.01 cmd.exe_0aec
MOD 1 0.01 C:\WINDOWS\system32\ntdll.dll
SYM 1 0.01 RtlAllocateHeap
================================
)) Process_Thread
================================
LAB TKS %%% NAMES
PID 8588 51.51 IdleProcess_0000
TID 8588 51.51 tid_0000
PID 8063 48.36 watch.exe_0a4c
TID 8063 48.36 tid_0738
PID 14 0.08 iclient.exe_02e8
TID 14 0.08 tid_08fc
PID 3 0.02 vsmon.exe_00b4
TID 2 0.01 tid_01d8
TID 1 0.01 tid_0bd0
PID 2 0.01 winlogon.exe_0254
TID 2 0.01 tid_0628
PID 2 0.01 svchost.exe_0410
TID 2 0.01 tid_0a74
PID 1 0.01 csrss.exe_02b4
TID 1 0.01 tid_0314
PID 1 0.01 cmd.exe_0aec
TID 1 0.01 tid_0af0
================================
)) Process_Thread_Module
================================
LAB TKS %%% NAMES
PID 8588 51.51 IdleProcess_0000
TID 8588 51.51 tid_0000
MOD 8585 51.49 C:\WINDOWS\system32\DRIVERS\intelppm.sys
MOD 2 0.01 C:\WINDOWS\system32\hal.dll
MOD 1 0.01 C:\WINDOWS\system32\ntkrnlpa.exe
PID 8063 48.36 watch.exe_0a4c
TID 8063 48.36 tid_0738
MOD 8062 48.35 C:\ibmperf\v20080430-GA\bin\watch.exe
MOD 1 0.01 C:\WINDOWS\system32\hal.dll
PID 14 0.08 iclient.exe_02e8
TID 14 0.08 tid_08fc
MOD 7 0.04 C:\WINDOWS\system32\ntkrnlpa.exe
MOD 2 0.01 C:\WINDOWS\System32\Drivers\Ntfs.sys
MOD 2 0.01 C:\WINDOWS\system32\ntdll.dll
MOD 1 0.01 C:\WINDOWS\system32\drivers\ssrtln.sys
MOD 1 0.01 C:\WINDOWS\system32\USER32.dll
MOD 1 0.01 C:\WINDOWS\system32\hal.dll
PID 3 0.02 vsmon.exe_00b4
TID 2 0.01 tid_01d8
MOD 1 0.01 C:\WINDOWS\system32\hal.dll
MOD 1 0.01 C:\WINDOWS\system32\VSUTIL.dll
TID 1 0.01 tid_0bd0
MOD 1 0.01 C:\WINDOWS\system32\ZoneLabs\VSRULEDB.DLL
PID 2 0.01 winlogon.exe_0254
TID 2 0.01 tid_0628
MOD 1 0.01 C:\WINDOWS\system32\ntkrnlpa.exe
MOD 1 0.01 C:\WINDOWS\System32\Drivers\Ntfs.sys
PID 2 0.01 svchost.exe_0410
TID 2 0.01 tid_0a74
MOD 1 0.01 c:\windows\system32\rpcss.dll
MOD 1 0.01 C:\WINDOWS\system32\KERNEL32.dll
PID 1 0.01 csrss.exe_02b4
TID 1 0.01 tid_0314
MOD 1 0.01 C:\WINDOWS\System32\RDPDD.dll
PID 1 0.01 cmd.exe_0aec
TID 1 0.01 tid_0af0
MOD 1 0.01 C:\WINDOWS\system32\ntdll.dll
================================
)) Process_Thread_Module_Symbol
================================
LAB TKS %%% NAMES
PID 8588 51.51 IdleProcess_0000
TID 8588 51.51 tid_0000
MOD 8585 51.49 C:\WINDOWS\system32\DRIVERS\intelppm.sys
SYM 8585 51.49 AcpiC1Idle
MOD 2 0.01 C:\WINDOWS\system32\hal.dll
SYM 1 0.01 READ_PORT_UCHAR
SYM 1 0.01 READ_PORT_BUFFER_USHORT
MOD 1 0.01 C:\WINDOWS\system32\ntkrnlpa.exe
SYM 1 0.01 ExfInterlockedCompareExchange64
PID 8063 48.36 watch.exe_0a4c
TID 8063 48.36 tid_0738
MOD 8062 48.35 C:\ibmperf\v20080430-GA\bin\watch.exe
SYM 4095 24.56 ThirtyTwo
SYM 2048 12.28 Sixteen
SYM 1024 6.14 Eight
SYM 512 3.07 Four
SYM 255 1.53 Two
SYM 128 0.77 One
MOD 1 0.01 C:\WINDOWS\system32\hal.dll
SYM 1 0.01 KeAcquireQueuedSpinLock
PID 14 0.08 iclient.exe_02e8
TID 14 0.08 tid_08fc
MOD 7 0.04 C:\WINDOWS\system32\ntkrnlpa.exe
SYM 1 0.01 _SEH_epilog
SYM 1 0.01 IopfCallDriver
SYM 1 0.01 KeQuerySystemTime
SYM 1 0.01 __KeGetCurrentThread
SYM 1 0.01 NtQueryDirectoryFile
SYM 1 0.01 ExpInterlockedPopEntrySListEnd
SYM 1 0.01 ObReferenceObjectByHandle
MOD 2 0.01 C:\WINDOWS\System32\Drivers\Ntfs.sys
SYM 1 0.01 NtfsCompleteRequest
SYM 1 0.01 NtfsPurgeFileRecordCache
MOD 2 0.01 C:\WINDOWS\system32\ntdll.dll
SYM 1 0.01 RtlDosPathNameToNtPathName_Ustr
SYM 1 0.01 ExpInterlockedPopEntrySListEnd
MOD 1 0.01 C:\WINDOWS\system32\drivers\ssrtln.sys
SYM 1 0.01 <<.text>>
MOD 1 0.01 C:\WINDOWS\system32\USER32.dll
SYM 1 0.01 PtiCurrent
MOD 1 0.01 C:\WINDOWS\system32\hal.dll
SYM 1 0.01 KfRaiseIrql
PID 3 0.02 vsmon.exe_00b4
TID 2 0.01 tid_01d8
MOD 1 0.01 C:\WINDOWS\system32\hal.dll
SYM 1 0.01 KeReleaseQueuedSpinLock
MOD 1 0.01 C:\WINDOWS\system32\VSUTIL.dll
SYM 1 0.01 <<.text>>
TID 1 0.01 tid_0bd0
MOD 1 0.01 C:\WINDOWS\system32\ZoneLabs\VSRULEDB.DLL
SYM 1 0.01 <<.text>>
PID 2 0.01 winlogon.exe_0254
TID 2 0.01 tid_0628
MOD 1 0.01 C:\WINDOWS\system32\ntkrnlpa.exe
SYM 1 0.01 KiFastCallEntry
MOD 1 0.01 C:\WINDOWS\System32\Drivers\Ntfs.sys
SYM 1 0.01 NtfsFindFreeBitmapRun
PID 2 0.01 svchost.exe_0410
TID 2 0.01 tid_0a74
MOD 1 0.01 c:\windows\system32\rpcss.dll
SYM 1 0.01 CMutexLock::Lock
MOD 1 0.01 C:\WINDOWS\system32\KERNEL32.dll
SYM 1 0.01 InterlockedDecrement
PID 1 0.01 csrss.exe_02b4
TID 1 0.01 tid_0314
MOD 1 0.01 C:\WINDOWS\System32\RDPDD.dll
SYM 1 0.01 DrvTextOut
PID 1 0.01 cmd.exe_0aec
TID 1 0.01 tid_0af0
MOD 1 0.01 C:\WINDOWS\system32\ntdll.dll
SYM 1 0.01 RtlAllocateHeap
================================
)) Module
================================
LAB TKS %%% NAMES
MOD 8585 51.49 C:\WINDOWS\system32\DRIVERS\intelppm.sys
MOD 8062 48.35 C:\ibmperf\v20080430-GA\bin\watch.exe
MOD 9 0.05 C:\WINDOWS\system32\ntkrnlpa.exe
MOD 5 0.03 C:\WINDOWS\system32\hal.dll
MOD 3 0.02 C:\WINDOWS\System32\Drivers\Ntfs.sys
MOD 3 0.02 C:\WINDOWS\system32\ntdll.dll
MOD 1 0.01 C:\WINDOWS\system32\VSUTIL.dll
MOD 1 0.01 C:\WINDOWS\system32\KERNEL32.dll
MOD 1 0.01 C:\WINDOWS\system32\drivers\ssrtln.sys
MOD 1 0.01 C:\WINDOWS\System32\RDPDD.dll
MOD 1 0.01 C:\WINDOWS\system32\ZoneLabs\VSRULEDB.DLL
MOD 1 0.01 c:\windows\system32\rpcss.dll
MOD 1 0.01 C:\WINDOWS\system32\USER32.dll
================================
)) Module_Symbol
================================
LAB TKS %%% NAMES
MOD 8585 51.49 C:\WINDOWS\system32\DRIVERS\intelppm.sys
SYM 8585 51.49 AcpiC1Idle
MOD 8062 48.35 C:\ibmperf\v20080430-GA\bin\watch.exe
SYM 4095 24.56 ThirtyTwo
SYM 2048 12.28 Sixteen
SYM 1024 6.14 Eight
SYM 512 3.07 Four
SYM 255 1.53 Two
SYM 128 0.77 One
MOD 9 0.05 C:\WINDOWS\system32\ntkrnlpa.exe
SYM 1 0.01 NtQueryDirectoryFile
SYM 1 0.01 ExfInterlockedCompareExchange64
SYM 1 0.01 ExpInterlockedPopEntrySListEnd
SYM 1 0.01 ObReferenceObjectByHandle
SYM 1 0.01 KiFastCallEntry
SYM 1 0.01 KeQuerySystemTime
SYM 1 0.01 __KeGetCurrentThread
SYM 1 0.01 _SEH_epilog
SYM 1 0.01 IopfCallDriver
MOD 5 0.03 C:\WINDOWS\system32\hal.dll
SYM 1 0.01 READ_PORT_BUFFER_USHORT
SYM 1 0.01 KeAcquireQueuedSpinLock
SYM 1 0.01 KeReleaseQueuedSpinLock
SYM 1 0.01 KfRaiseIrql
SYM 1 0.01 READ_PORT_UCHAR
MOD 3 0.02 C:\WINDOWS\System32\Drivers\Ntfs.sys
SYM 1 0.01 NtfsPurgeFileRecordCache
SYM 1 0.01 NtfsFindFreeBitmapRun
SYM 1 0.01 NtfsCompleteRequest
MOD 3 0.02 C:\WINDOWS\system32\ntdll.dll
SYM 1 0.01 ExpInterlockedPopEntrySListEnd
SYM 1 0.01 RtlAllocateHeap
SYM 1 0.01 RtlDosPathNameToNtPathName_Ustr
MOD 1 0.01 C:\WINDOWS\system32\VSUTIL.dll
SYM 1 0.01 <<.text>>
MOD 1 0.01 C:\WINDOWS\system32\KERNEL32.dll
SYM 1 0.01 InterlockedDecrement
MOD 1 0.01 C:\WINDOWS\system32\drivers\ssrtln.sys
SYM 1 0.01 <<.text>>
MOD 1 0.01 C:\WINDOWS\System32\RDPDD.dll
SYM 1 0.01 DrvTextOut
MOD 1 0.01 C:\WINDOWS\system32\ZoneLabs\VSRULEDB.DLL
SYM 1 0.01 <<.text>>
MOD 1 0.01 c:\windows\system32\rpcss.dll
SYM 1 0.01 CMutexLock::Lock
MOD 1 0.01 C:\WINDOWS\system32\USER32.dll
SYM 1 0.01 PtiCurrent