WINDOWS 1002000 PROFESSIONAL RESOURCE KIT [Electronic resources] نسخه متنی

اینجــــا یک کتابخانه دیجیتالی است

با بیش از 100000 منبع الکترونیکی رایگان به زبان فارسی ، عربی و انگلیسی

WINDOWS 1002000 PROFESSIONAL RESOURCE KIT [Electronic resources] - نسخه متنی

Chris Aschauer

| نمايش فراداده ، افزودن یک نقد و بررسی
افزودن به کتابخانه شخصی
ارسال به دوستان
جستجو در متن کتاب
بیشتر
تنظیمات قلم

فونت

اندازه قلم

+ - پیش فرض

حالت نمایش

روز نیمروز شب
جستجو در لغت نامه
بیشتر
لیست موضوعات
توضیحات
افزودن یادداشت جدید







Overview of Processor Monitoring and Analysis


Uniprocessor monitoring and analysis involve many variables. The following steps summarize in-depth monitoring and analysis of processor activity.


    Establish a baseline for processor performance that reflects your system's typical workload. Perform this step to characterize your system's workload and identify how applications use the system.

    Examine overall processor usage by viewing processor queue length and processor utilization (also referred to as processor time). Perform this step to obtain an overview of how heavily your system uses its resources.

    Examine activity that adds to the processing load, such as high rates of interrupts and context switches. Perform this step to determine the efficiency of your system.

    Examine individual processes and their percentage of the overall processor time. Perform this step to learn about the processes on your system.

    Examine the threads- the units of work that make up a process-for each individual process and each thread's processor usage. Perform this step to learn about thread utilization on the system.

    Evaluate thread priorities and change them to see if this provides better performance. (Microsoft does not recommend this as a long-term solution, but suggests it for testing purposes.) Perform this step to learn how threads interact and to determine which threads are preempting other lower-priority threads.


Figure 29.1 illustrates the role of processor monitoring in overall system monitoring.


Figure 29.1 Role of Processor Monitoring in Overall Monitoring Sequence

Before you begin the monitoring process, become familiar with the counters designed to measure processor activity and the Windows 2000 Resource Kit tools that can give you more information about processor workload and performance. The following sections summarize these counters and tools.

Processor Counters


The System, Processor, Process, and Thread objects contain counters that provide useful information about the work of your processor. Examine the counters in Table 29.1 for details about computer processes.

Table 29.1 Processor Counters













































































ObjectCounterDescription
SystemContext Switches/secThe average rate per second at which context switches among threads on the computer. High activity rates can result from inefficient hardware or poorly designed applications. Compare these counters with Processor % Privileged Time, Processor % User Time, and Processor % Interrupt Time. See "Monitoring Interrupts" and "Monitoring Context Switches" later in this chapter.
ProcessorInterrupts/secThe average rate per second at which the processor handles interrupts from applications or hardware devices. High activity rates can indicate hardware problems. Compare these counters with Processor % Privileged Time, Processor % User Time, and Processor % Interrupt Time. See "Monitoring Interrupts" and "Monitoring Context Switches" later in this chapter.
SystemProcessor Queue LengthAn instantaneous count of threads that are in the processor queue. See "Observing Processor Queue Length" later in this chapter.
Processor% Processor Time The percentage of time the processor was busy during the sampling interval. This counter is equivalent to Task Manager's CPU Usage counter. See "Examining the Processor Time Counter" later in this chapter.

For the value of total processor utilization systemwide, use the Processor(_Total) % Processor Time counter.

Process% Privileged TimeThe percentage of time a process was running in privileged mode. See "Processes in a Bottleneck" later in this chapter.
Process% Processor TimeThe percentage of time the processor was busy servicing a specific process.
Process% User TimeThe percentage of time a process was running in user mode.
ProcessPriority BaseThe base priority level of the process (can range from lowest to highest: Idle, Normal, High, or Real Time). Windows 2000 schedules threads of a process to run according to their priority. Threads inherit base priority from their parent processes.
ThreadThread StateA numeric value indicating the execution state of the thread.

The system numbers threads from 0 through 5; the states seen most often are 1 for ready, 2 for running, and 5 for waiting. Threads with a state of 1 are in the processor queue.

ThreadPriority BaseThe base priority level (from 1 through 31) for the thread based on the priority class of the process. Windows 2000 schedules threads of a process to run according to their priority. Threads inherit base priority from their parent processes.
ThreadPriority CurrentThe current priority level of a thread. This level can vary during operation.
ThreadContext Switches/secThe average rate per second at which the processor switches context among threads. A high rate can indicate that many threads are contending for processor time. See "Threads in a Bottleneck" later in this chapter.
Thread% Privileged TimeThe percentage of time a thread was running in privileged mode.
Thread% User TimeThe percentage of time a thread was running in user mode.

NOTE


Because System Monitor samples processor time, the values for processor time counters reported by the Processor, Process, and Thread objects might underestimate or overestimate the activity on your system that occurs before or after you collect the sample.

In addition to the preceding list of objects and counters, the Job Object and Job Object Details objects provide information about processor usage. These performance objects are installed by default for monitoring job object performance. The job object makes it possible for developers to manage groups of processes by their processor usage and other factors. For example, job objects make it possible for applications to restrict the amount of processor time a process consumes; this is called process throttling. Process throttling is useful in Web-based administration applications for limiting the amount of processor capacity a site uses over a defined interval, thus avoiding bottlenecks and freeing processor capacity for other tasks. You might also use the job object to manage sharing of CPU time among groups of jobs. In addition to supporting process throttling, job objects help developers control the active number of processes, process identifiers (IDs), priority classes, and processor affinity. For more information about creating applications by using the job object, see the Microsoft Platform Software Development Kit (SDK) link on the Web Resources page at http://windows.microsoft.com/windows2000/reskit/webresources. For a discussion of application support and job objects, see Getting Started in Windows 2000 Help.

Resource Kit Tools for Processor Monitoring


The Windows 2000 Resource Kit companion CD contains utilities to help you understand and experiment with processor performance. Table 29.2 lists these utilities.

Table 29.2 Performance Utilities














Utility NameDescription
CpuStressSimulates processor workload.
QsliceProvides a graphical display of processor usage by process.

/ 335