09.02.2014 Views

Windows sysinternals

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

114 Part II Usage Guide<br />

Displaying Profiling Events<br />

The four classes of events that Procmon displays by default—registry, file system, network,<br />

and process activity—represent operations initiated by processes on the computer. The fifth<br />

event class, profiling events, includes artificial events periodically generated by Procmon itself<br />

(except for Debug Output Profiling events, described in the “Injecting Debug Output into<br />

Procmon Traces” section later in this chapter). Profiling events are not displayed by default,<br />

but they can be displayed by toggling the Show Profiling Events icon on the toolbar.<br />

Process Profiling events are generated for every process on the computer once per second.<br />

Each event captures the user-mode and kernel-mode CPU time charged to the process since<br />

it started, the private bytes currently allocated by the process, and the working set consumed<br />

by the process. The Duration attribute for Process Profiling events is fixed at 0.<br />

Unlike with Process Profiling events, the data captured by Thread Profiling events is not<br />

cumulative. When enabled, Thread Profiling events capture the amount of user-mode and<br />

kernel-mode CPU time and the number of context switches since the thread’s previous profiling<br />

event. The Duration attribute reports the sum of the user-mode and kernel-mode CPU<br />

time, and it can be used in a filter rule to help identify CPU spikes. Thread Profiling events are<br />

created only for threads that had at least one context switch during the polling interval, not<br />

for threads in the Idle process.<br />

Process Profiling events are always generated once per second. Thread Profiling events are<br />

not generated by default, but they can be enabled with the Thread Profiling Options dialog<br />

box (shown in Figure 4-7), which you access by choosing Profiling Events from the Options<br />

menu. When Generate Thread Profiling Events is selected, Procmon generates Thread<br />

Profiling events either once per second or ten times per second, according to the period<br />

chosen in the Options dialog box.<br />

Important Enabling Thread Profiling capture is a potentially expensive option that should be<br />

used only when necessary.<br />

FIGURE 4-7 The Thread Profiling Options dialog box.<br />

www.it-ebooks.info

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!