Microsoft KB Archive/837372

= How to identify SMS Executive process threads that are responsible for high CPU use on an SMS site server =

Article ID: 837372

Article Last Modified on 11/27/2007

-

APPLIES TO


 * Microsoft Systems Management Server 2003
 * Microsoft Systems Management Server 2.0 Standard Edition

-





INTRODUCTION
When an SMS site server responds slowly, Task Manager may show that the SMS Executive process is responsible for high CPU use. This article describes how to use System Monitor in Microsoft Windows 2000 or in Microsoft Windows Server 2003 to identify the component in the SMS Executive process that is causing the problem.

You can run System Monitor locally on the SMS site server. You can also run System Monitor on another computer and then connect remotely to the SMS site server.



Configuring System Monitor to monitor the SMS Executive process
 In Windows Server 2003 or in Windows 2000, click Start, point to Programs, point to Administrative Tools, and then click Performance. Expand Performance Logs and Alerts, right-click Counter Logs, and then click New Log Settings. In New Log Settings, type a name in the Name field. For example, type SMS Exec Threads, and then click OK.

Note By default, the new log file is stored in the Perflog folder. In the SMS Exec Threads dialog box, click Add Counters on the General tab. (In Windows 2000, click Add.) In Add(Select) Counters, click to select the SMS site server, and then select instances that are specific to SMS for the following counters:  Set the Interval value and the Units value in the Sample data every field. For medium-length logs that sample data for up to an hour, use the default value of 15 seconds. For shorter times, reduce the Interval value. For example, set the value to 2 or 3 seconds. To sample data for several hours or more, set the Interval value to 30 or 60 seconds. Click the Log Files tab. Make sure that the default Binary File in Log file type is selected, and then enter any comments in the Comment field.</li> Click the Schedule tab. Set the Start log and Stop log times that you want, and then click OK.</li></ol>

Analyzing the Results
<ol> In Windows Server 2003 or in Windows 2000, click Start, point to Programs, point to Administrative Tools, and then click Performance.</li> Click System Monitor, and then click View Log Data on the Performance toolbar. Click the Source tab, click the Log files option, and then click Add. (In Windows 2000, click Select Log File, and then click Add.)</li> In Select Log file, locate and select the log file that you created, and then click Open. (In Windows Server 2003, you must click OK to complete the file selection process.) By default, the log files are located in the Perflogs folder.</li> Click Add on the Performance toolbar to select counters.</li> In Add Counters, click Performance object. Make sure that the Memory object is selected. Click All counters, click All instances, and then click Add. Repeat this step for the following performance objects, and then click OK: <ul> PhysicalDisk</li> Processor</li> Thread</li></ul> </li> Click View Report. When you scroll over to the right, you may see one or more threads that have a very high % Processor Time value.</li> Note the threads that have a high % Processor Time value. Make sure that you write down the following information for these threads: <ul> ID Thread</li> Thread State</li> Thread Wait Reason</li></ul>

Information for these threads may appear similar to the following:

'''% Processor Time = 92.000

ID Thread = 2008

Thread State = 5

Thread Wait Reason = 0'''

This information indicates the following: <ul> The ID Thread (TID) is 2008 in decimal notation and 0x7d8 in hexadecimal notation.</li> <li>A Thread State value of 5 indicates that the thread is currently waiting. Other possible values are listed in the following table:

Thread Wait Reason is only applicable when the thread is in the Wait state. The following table explains the Thread Wait Reason values:

Note Event pairs are used to communicate with protected subsystems.</li></ul> </li> <li>After you verify that the SMS Executive thread is responsible for the high CPU use, you must translate the TID hexadecimal value to an SMS Executive thread name.

When an SMS Executive thread starts, it stores the TID that the thread is running under in the SMS log files.</li> <li>You can use the Windows Search function to search the SMS log files to determine the TID for the process that is causing high CPU use. To do this, follow these steps: <ol style="list-style-type: lower-alpha;"> <li>On the SMS site server, click Start, point to Search. (In Windows 2000, click For Files and Folders.)</li> <li>In the A word or phrase in the file field, type the hexadecimal value for the TID. (In Windows 2000, this field is Containing text.)</li> <li> In the Look in field, specify the location of the SMS logs folder. (By default, this folder is SMS\logs.) Click Search (Now).

In the following example, the 0x7D8 thread is found in the Despool.log file. Therefore, the SMS Despooler thread is responsible for the high CPU use.

SMS_EXECUTIVE started SMS_DESPOOLER as thread ID 2008 (0x7D8). SMS_DESPOOLER  2/16/2004 1:05:22 PM    2008 (0x7D8) Note Typically, thread initialization appears in the log files as a message that is similar to the following: SERVICE THREAD IS STARTING SMS_EXECUTIVE started as thread ID   If more than one process runs under the same TID, the correct one to use will be the thread that started on a date that is closest to, but not later than, the date that you ran the System Monitor capture.

</li></ol>

Note You can use the Findstr.exe command-line utility or other &quot;grep&quot; utilities to search the log files for a TID. Additionally, you can use the SMS Trace utility (Trace32.exe) to review SMS log data. The SMS Trace utility can filter for specific TIDs. Systems Management Server 2003 Toolkit 1 includes the latest version of this utility. To download the toolkit, visit the following Microsoft Web site:

http://technet.microsoft.com/en-us/sms/bb676787.aspx

</li></ol>

Keywords: kbhowto kbinfo KB837372

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.