Muutke küpsiste eelistusi

Windows Performance Analysis Field Guide [Pehme köide]

(Senior Premier Field Engineer at Microsoft)
  • Formaat: Paperback / softback, 380 pages, kõrgus x laius: 235x191 mm, kaal: 750 g, 50 illustrations; Illustrations
  • Ilmumisaeg: 13-Aug-2014
  • Kirjastus: Syngress Media,U.S.
  • ISBN-10: 0124167012
  • ISBN-13: 9780124167018
Teised raamatud teemal:
  • Formaat: Paperback / softback, 380 pages, kõrgus x laius: 235x191 mm, kaal: 750 g, 50 illustrations; Illustrations
  • Ilmumisaeg: 13-Aug-2014
  • Kirjastus: Syngress Media,U.S.
  • ISBN-10: 0124167012
  • ISBN-13: 9780124167018
Teised raamatud teemal:
Huffman presents IT professionals with a comprehensive practical guide to performance monitoring and analysis of Windows Servers. The author covers troubleshooting, performance monitoring, storage, process memory, kernel memory, system committed memory, page files, physical memory, networks, processors, boot performance, and performance analysis of logs (PAL) tool. This text is intended as an answer to the question, “What would Microsoft do?” Huffman provides readers with money-saving tips for optimizing Windows performance, an overview of the proper usage of free performance analysis tools from Microsoft, and performance counter templates. Clint Huffman is an employee of Microsoft, specializing in Windows Server performance problems. Annotation ©2015 Ringgold, Inc., Portland, OR (protoview.com) Microsoft Windows 8.1 and Windows Server 2012 R2 are designed to be the best performing operating systems to date, but even the best systems can be overwhelmed with load and/or plagued with poorly performing code.Windows Performance Analysis Field Guide gives you a practical field guide approach to performance monitoring and analysis from experts who do this work every day. Think of this book as your own guide to "What would Microsoft support do " when you have a Windows performance issue. Author Clint Huffman, a Microsoft veteran of over fifteen years, shows you how to identify and alleviate problems with the computer resources of disk, memory, processor, and network. You will learn to use performance counters as the initial indicators, then use various tools to "dig in" to the problem, as well as how to capture and analyze boot performance problems.This field guide gives you the tools and answers you need to improve Microsoft Windows performance, including:Save money on optimizing Windows performance with deep technical troubleshooting that tells you "What would Microsoft do to solve this "Includes performance counter templates so you can collect the right data the first time.Learn how to solve performance problems using free tools from Microsoft such as the Windows Sysinternals tools and more.In a rush? Chapter 1 Start Here gets you on the quick path to solving the problem.Also covers earlier versions such as Windows 7 and Windows Server 2008 R2.

Muu info

Learn how to identify and alleviate the most common performance problems in Windows 8 and Windows Server 2012 from the experts in the field.
Acknowledgments vii
Biography ix
Foreword xxiii
Introduction xxv
Chapter 1 Start Here 1(10)
Introduction
1(3)
Is it a Problem with Boot or Shutdown Performance?
1(1)
Is it a Hardware or Software System Hang?
1(1)
Troubleshooting Hardware System Hangs
2(1)
Review the System Event Logs
2(1)
Hardware Diagnostics
2(1)
Complete or Partial System Hangs
3(1)
Potential Cause: High Processor or Disk Usage
3(1)
Potential Cause: Lack of Kernel Pool Memory
3(1)
Potential Cause: High Processor Interrupts or DPCs
3(1)
Process Terminated Unexpectedly
4(1)
General Slow System Performance
4(3)
If on the Console/desktop of a Single System
4(2)
If Monitoring One or More Systems
6(1)
Common Environmental and Hardware-induced Performance Problems
7(2)
Power Usage Analysis
7(1)
Ensure the Computer is Plugged in with the Proper Power Adapter
8(1)
Ensure the Hard Drives and Optical Drives are Running at Full Performance
8(1)
Review the System's Power Plans
8(1)
Is the System Overheated?
8(1)
Conclusion
9(2)
Windows Performance Analysis Industry Experts and Their Contact Information
9(2)
Chapter 2 Performance Monitor 11(46)
Introduction
11(1)
Introduction to Performance Monitor
11(1)
Why do you Need to Know Performance Monitor?
11(1)
What are Performance Counters and Can We Trust Them?
12(1)
Basic Usage
12(16)
Starting Performance Monitor
12(2)
Adding and Removing Counters
14(2)
Hiding and Showing Counters
16(1)
Highlighting a Counter
16(1)
The Last, Minimum, Average, and Maximum Fields in the Graph
16(2)
Graph Types
18(2)
View as a Line Chart
20(1)
View as a Histogram (Bar Chart)
20(1)
View as a Report
21(1)
The Overhead of Viewing Live Performance Counters
21(1)
Viewing Remote Performance Counters
22(1)
Showing and Hiding the Console Tree
23(1)
Counter Instances are Not Automatically Added or Removed
24(1)
Gaps in Performance Monitor Data
24(1)
Opening a Counter Log
25(2)
Using the Time Range Control
27(1)
Performance Counters
28(6)
Counter Descriptions
28(1)
Counter Paths
28(1)
Counters are Always Positive
29(1)
Unique Instance Names
29(1)
Special Counter Instances
29(1)
Scaling Counters
30(2)
Automatic Scaling
32(1)
Changing the Scale of the Chart
33(1)
Default Scaling in Log Files
33(1)
Counter Correlation
34(1)
Data Collectors
34(14)
Introduction to Data Collectors
35(1)
Creating and Starting a Performance Counter Data Collector Using the Wizard
35(1)
Deleting a Data Collector Set
36(1)
Starting and Stopping Performance Counter Data Collectors
37(1)
Creating a Performance Counter Data Collector Template
37(1)
Using the PAL Tool to Create a Data Collector Template
38(1)
Creating and Starting a Data Collector Set Using a Template
38(2)
Creating a Circular Data Collector
40(1)
Selecting a Sample Interval
40(1)
Selecting Counter Paths for a Performance Counter Data Collector
41(1)
Impact of Collecting Counter Data
41(1)
Managing the Size of Counter Logs
42(1)
Creating a "Black box" Data Collector
42(3)
Automatically Starting a Data Collector Set After a Reboot
45(1)
Best Practices for Managing Performance Counter Data Collectors
46(2)
Tools
48(8)
Logman
48(1)
Creating and Managing a Performance Counter Data Collector using Logman
48(1)
Querying a Performance Counter Data Collector Using Logman
49(1)
Commonly Used Parameters of Logman
49(3)
Remote Server (-<Computer>)
50(1)
Counter Path (-c<path[ path[ ...]]>)
50(1)
File Type (4<bin|bincirc|csv|tsv|sql>)
50(1)
Sample Interval (-si<[ [ hh:]mm:]ss>)
50(1)
Begin Time (-b<M/d/yyyy h:mm:ss[ AMIPM]>)
50(1)
End Time (-e<M/d/yyyy h:mm:ss[ AMIPM]>)
50(1)
Output File Path (-o<pathldsn!log>)
51(1)
Counter File (-cf<Filename>)
51(1)
XML Template (-xml<filename>)
51(1)
Maximum File Size (-max<value>)
52(1)
LODCTR and UNLODCTR
52(1)
Detecting and Repairing Corrupted Performance Counters
52(1)
Installing and Uninstalling Performance Counters
53(1)
Relog
54(1)
Converting a Counter Log from Binary to CSV Using Relog
54(1)
Reducing the Size of a Counter Log Using Relog
54(1)
Counter Filtering (-c<path [ path ...]>)
54(1)
Counter Filtering with a File (-cf<filename>)
55(1)
Data Filtering (-t<n>)
55(1)
Time Filtering (-b<M/d/yyyy h:mm:ss[ AMIPM]> and -e<M/d/yyyy h:mm:ss[ AMIPM]>)
55(1)
Fixing Corrupted Counter Logs Using Relog
55(1)
Merging Counter Logs Using Relog
55(1)
Conclusion
56(1)
Chapter 3 Storage 57(36)
Introduction
57(2)
Initial Indicators of Poor Disk Performance
57(2)
Storage Hardware and Industry Terminology
59(7)
Hardware and Terminology
59(4)
I/O Request Packet
59(1)
I/Os Per Second
59(1)
Hard Disk Drive (spindle)
60(1)
Solid-State Drive
60(1)
Direct-Attached Storage
61(1)
Just a Bunch of Disks and RAID Types
61(1)
Network-Attached Storage
61(1)
SAN and Fibre Channel
62(1)
Internet Small Computer Systems Interface
63(1)
I/O Operations Per Second
63(1)
Dedicated Versus Shared Spindles
64(1)
Physical Disks and Logical Disks
65(1)
Disk Capacity
66(3)
Identifying Low Storage Capacity
67(1)
File System Allocation Size (block Size) Considerations
67(1)
Troubleshooting Free Space
68(1)
Disk Cleanup Wizard
68(1)
Disk Usage
69(1)
WinDirStat (Windows Directory Statistics)
69(1)
Windows Management Instrumentation (WMI)
69(1)
Understanding and Measuring Disk Performance
69(7)
PhysicalDisk and LogicalDisk Counter Objects
69(1)
Understanding the Disk Queue
70(2)
Avg. Disk Queue Length
70(1)
Current Disk Queue Length
71(1)
% Idle Time
71(1)
Disk Transfers, IOPS, and Read/write Ratios
72(1)
The Effects of I/O Sizes
72(3)
Split I/0
74(1)
I/O Response Times
75(1)
Process I/O Operations
76(1)
Disk Performance Analysis Tools
76(11)
Disk Analysis Using Performance Monitor
78(1)
Disk Analysis Using the PAL Tool
79(1)
Disk Analysis Using Task Manager and Resource Monitor
80(1)
Disk Analysis Using Process Monitor
81(3)
Disk Analysis Using Windows Performance Analyzer
84(3)
Common Causes, Recommendations for Poorly Performing Disks, and Best Practices
87(4)
Too Much Sharing
87(1)
Too Much I/O Demand
87(1)
High Disk Fragmentation
87(1)
Hardware Failure
88(1)
ChkDsk
88(1)
FC Troubleshooting
88(1)
Load Testing Disk Performance and How to Speak SAN-ish
88(1)
Capacity
89(1)
I/O Sizes
89(1)
IOPS
89(1)
Disk Performance When Load Testing
89(1)
File System Filter Drivers
90(1)
Storport Tracing
91(1)
Conclusion
91(2)
Disk Performance Analysis Experts
91(2)
Chapter 4 Process Memory 93(36)
Process Virtual Address Space
93(1)
What you Need to Know About An Application's Virtual Address Space
93(2)
Identifying Applications that Run out of Virtual Address Space
95(1)
How to Determine the Maximum Virtual Address Space for An Application
95(3)
Can the Maximum Virtual Address Space of An Application Be retrieved Remotely Using Windows Management Instrumentation?
97(1)
Identifying Application Virtual Address Space Problems Using Performance Monitor and the Application Event Log
98(2)
Identifying Application Virtual Address Space Problems Using The PAL Tool
100(1)
Investigating Application Virtual Address Space Problems Using VMMap
100(3)
About DebugDiag
103(1)
Preparing for a Call with Microsoft Support
103(1)
Capture a Performance Counter Log of When the Application(s) ran out of Memory
104(1)
Offer Symbols Files
104(1)
Dealing with 32-bit Applications that Run out of Virtual Address space
104(4)
Adding Physical Memory or Increasing Paging Files Has No Effect
105(1)
Analyze Memory Usage and Fix the Code
105(1)
Recompile the 32-bit Application to 64-bit
106(1)
Run the 32-bit Application on a 64-bit Version of Windows Or Windows Server
106(1)
Consider IncreaseUserVA with Caution
106(2)
Distribute the Components of the 32-bit Application Across More processes
108(1)
Identifying and Adding Large Address Aware
108(1)
The Concept and Advantages of Virtual Memory
109(1)
32-bit (x86) Virtual Address Space
109(2)
64-bit (x64) Virtual Address Space
111(1)
Many Processes, One Kernel
111(1)
How Can Each Application Have a Private 8 TB on a System With 4 GB of Physical Memory?
112(1)
Virtual Memory and Paging Files
113(1)
Reserved, Committed, and Free Memory
114(3)
Free Memory
115(1)
Reserved Memory
115(1)
Process Committed Memory
116(1)
Touched Memory
117(1)
Identifying Application out of Virtual Address Space conditions
117(1)
System.OutOfMemoryException Errors
118(1)
Read this if you are Considering /3 GB or IncreaseUserVa
118(1)
Identifying Processes Leaking System Committed Memory
119(3)
Some Tools for Measuring Process Private Committed Memory
120(1)
When is it Considered a Leak?
121(1)
Troubleshooting Processes Leaking System Committed Memory using Sysinternals VMMap
122(4)
Troubleshooting Processes Leaking System Committed Memory using Debug Dumps
126(1)
Treating the Symptoms of Process Committed Memory Leaks
127(1)
Conclusion
127(2)
Chapter 5 Kernel Memory 129(26)
Introduction
129(1)
What you Need to Know About Kernel (system) Memory
129(1)
Pool Paged
129(1)
Pool Nonpaged
130(1)
System Page Table Entries
130(1)
Initial Indicators of Pool Paged and Pool Nonpaged Kernel Memory
130(4)
What to Look For
131(1)
What to Do
132(2)
64-bit (x64) Versions of Windows and Windows Server
134(1)
Troubleshooting a Lack of PTEs
134(2)
What are PTE,s9
134(1)
What to Look For
134(1)
What to do
135(1)
Monitoring Kernel Memory Using Process Explorer
136(3)
Download Process Explorer
136(1)
Download and Install the Debugging Tools for Windows
136(1)
Configure the Symbol Path
136(1)
Run as Administrator
137(1)
View System Information
137(2)
Analyzing Kernel Memory Using WPA
139(2)
Download and Install the Windows Performance Toolkit
139(1)
Capture Data
139(1)
Analyze in WPA
139(2)
Analyzing Kernel Memory Using Poolmon.exe
141(4)
Installing a Kernel Debugger
145(2)
The Debugging Tools for Windows on Production Systems
147(1)
Analyzing Kernel Memory with a Kernel Debugger
147(3)
The Page Frame Number Database, Physical Memory, and Virtual address Space
150(3)
Hot-add Memory
152(1)
Read this if Considering the /3 GB Switch or IncreaseUserVa
153(1)
Conclusion
154(1)
Twitter Handles of Kernel Memory Analysis Experts
154(1)
Chapter 6 System Committed Memory 155(26)
Introduction
155(1)
The System Commit Limit
156(3)
How Much is Enough and How Much is Too Much?
158(1)
The True System Commit Limit
158(1)
System-managed By Default
159(1)
Monitoring System Committed Memory with Task Manager
159(2)
Monitoring System Committed Memory with Performance Monitor
161(1)
\Memory\% Committed Bytes in Use
162(1)
\Memory\Commit Limit
162(1)
\Memory\Committed Bytes
162(1)
Monitoring System Committed Memory with Sysinternals Process Explorer
162(3)
Current
163(1)
Limit
164(1)
Peak
164(1)
Peak/Limit
165(1)
Current/Limit
165(1)
Monitoring System Committed Memory with Windows Management Instrumentation
165(1)
FreeVirtualMemory
165(1)
TotalVirtualMemory
166(1)
Where Did All of the System Committed Memory Go?
166(6)
The Usual Suspects
166(2)
Process Private Memory
168(1)
AWE Memory Usage
168(2)
Kernel Pool Memory
170(1)
Driver Locked Memory
170(1)
System Committed Backed Shared Memory Sections
170(1)
System Cache Resident Memory
171(1)
Treating the Symptoms of High System Committed Memory
172(2)
A Case Study of System Committed Memory
174(5)
Conclusion
179(2)
Chapter 7 Page Files 181(18)
Introduction
181(1)
Page File Sizing
181(1)
Systems with a Low Amount of Physical Memory
182(1)
Add More Physical Memory
182(1)
Reduce Memory Usage
183(1)
Add or Move Paging Files to Fast Disks
183(1)
Systems with a Large Amount of Physical Memory
183(1)
Optionally Reduce Physical Memory
184(1)
Optionally Reduce the Page File Size
184(1)
System Crash Dumps
184(2)
Automatic Memory Dump
186(1)
System Committed Memory and Paging Files
186(1)
System-managed Paging Files
187(1)
Dedicated Dump Files
188(1)
What is Written to a Page File?
189(1)
Other Crash Dump-related Registry Keys
190(1)
IgnorePageFileSize
190(1)
DumpFile
190(1)
Other Page File-related Performance Counters
191(1)
\Memory\Pages/sec and Other Hard Page Fault Counters
191(1)
\Paging File(*)\% Usage
192(1)
Multiple Page Files and Disk Considerations
192(1)
Running Without a Page File
192(1)
Should the Page File Be Moved from C: Drive?
193(1)
Page File Fragmentation
194(1)
Tracking Page File Reads and Writes
195(2)
Using Resource Monitor
195(1)
Using Windows Performance Recorder/Analyzer
195(1)
Using Sysinternals Process Monitor
195(2)
High Security? Consider Cleaning the Page File
197(1)
Conclusion
197(2)
Chapter 8 Physical Memory 199(38)
Introduction
199(1)
Free Memory is Different Than Available Memory
199(1)
Identifying a Low-available-physical Memory Condition Using Performance Monitor
200(4)
Low Available Memory with No Page File
201(1)
Low Available Memory with a Page File
201(1)
Identify the Logical Disks Hosting An Available Page File
202(1)
Are the Disks Overwhelmed?
202(1)
Working Set Trims and Page File Usage
202(1)
An Example
203(1)
Identifying a Low Available Physical Memory Condition Using Task Manager
204(2)
Identifying a Low-Available Physical Memory Condition Using Resource Monitor
206(3)
Monitoring for Low-Memory Conditions Using Scripting
209(1)
Where Did All of the Physical Memory Go?
209(3)
Physical Memory is Consumed By, But Not Limited To, The following
209(1)
Adding it Up with Performance Counters
210(2)
Process Working Sets
212(1)
Minimum Working Sets
213(2)
Driver-locked Memory
215(1)
Address Windowing Extensions (AWE)
216(1)
Considerations of AWE Memory Usage
216(1)
Locking Memory with Microsoft SQL Server
217(1)
Out of Physical Memory, But Not out of Committed Memory
218(1)
How Physical Memory is Managed
219(4)
Detecting Bad Physical Memory
223(3)
Page Faults
226(2)
Applications Reading Image Files
227(1)
Memory-mapped Files
228(1)
Page File Reads and Writes
228(1)
Hard Page Faults and Disk Performance
228(2)
Sizing Physical Memory
230(1)
ReadyBoost
231(1)
Prefetch
232(1)
Superfetch
233(1)
System Cache
233(1)
Too Much Physical Memory and Power Considerations
234(1)
Conclusion
235(2)
Chapter 9 Network 237(8)
Introduction
237(1)
Initial Indicators
237(1)
Measuring the Slowest Node and Black Hole Routers
238(1)
Monitoring Network Utilization Using Performance Monitor
239(1)
Monitoring Network Utilization Using Task Manager
240(1)
Monitoring Network Utilization Using Resource Monitor
241(1)
Detecting MC Duplex Settings
242(1)
Chattiness and Latency
243(1)
Conclusion
244(1)
Chapter 10 Processor 245(18)
Introduction
245(1)
Identifying High Processor Usage Using Task Manager
245(1)
Searching the File System for a Process's Executable File
246(1)
Identifying High Processor Usage Using Performance Monitor
247(1)
Identifying High Processor Usage Using Resource Monitor
248(2)
Identifying High Processor Usage Using Process Explorer
250(2)
Introducing the Microsoft Windows Performance Analyzer
252(2)
Introducing Microsoft Xperf.exe
254(2)
Capturing and Analyzing Processor Interrupts and DPC Events Using the Windows Performance Toolkit
256(1)
Capturing and Analyzing User Mode Processor Events Using the Windows Performance Toolkit
257(1)
Capturing Processor Events Using Microsoft WPR
258(3)
VM Considerations
261(1)
Conclusion
262(1)
Chapter 11 Boot Performance 263(20)
Introduction
263(1)
Common Causes of Poor Boot Performance
263(1)
Startup Impact in Task Manager
264(1)
Using Autoruns to Validate Startup Drivers, Services, and Applications
265(4)
Download and Running Autoruns.exe
265(1)
Filter Autoruns
266(1)
Validate Drivers
266(1)
Validating Everything Else
267(2)
Recording a Boot Trace Using Windows Performance Recorder
269(2)
Analyzing a Boot Trace Using WPA
271(5)
Boot Phases in WPA
272(3)
The Following are Public Resources for Learning More About Boot performance Analysis Using Event Tracing for Windows
275(1)
An Example of a Bad Boot Trace Using the WPA
276(6)
Conclusion
282(1)
Chapter 12 Performance Analysis of Logs (PAL) Tool 283(34)
Introduction
283(1)
Installation and Prerequisites
283(1)
Creating a Counter Log Using a PAL Template
284(2)
Using the PAL Wizard
286(10)
Start the PAL Wizard
286(1)
Welcome
286(1)
Counter Log
286(2)
Threshold File
288(1)
Questions
289(1)
Output Options
290(1)
File Output
291(2)
Queue
293(1)
Execute
294(1)
Finish
295(1)
Interpreting the Report
296(5)
Disclaimer
301(1)
Running the PAL Tool Without the PAL Wizard
301(1)
Examining the PAL Log
302(1)
How to Create a Threshold File for the PAL Tool
302(12)
Excluding Counter Instances
305(4)
Question Variables (optional)
309(1)
Adding a Threshold (optional)
310(1)
Adding Visual Thresholds to the Chart (optional)
311(2)
Generated Counters (optional)
313(1)
PAL Version is Incompatible
314(1)
Converting a Perfmon Template to a PAL Threshold File
314(1)
How to Use the Script
315(1)
Considerations
315(1)
Conclusion
315(2)
Appendix A Tools 317(14)
Appendix B Collecting Process Memory Dumps 331(4)
Appendix C Debug Symbols 335(6)
Index 341
Clint Huffman is a Senior Premier Field Engineer in Microsofts Premier Field Engineering (PFE) group, where he focuses on Microsoft BizTalk Server, IIS, and Windows performance analysis. Clint is also an author and master trainer for the Microsoft Vital Signs: Performance Monitoring Windows Server workshop. This workshop teaches students the fundamentals of Windows architecture and how to identify performance conditions using performance counters. Clint has been with Microsoft since 1999, and has worked as a Microsoft Internet Information Services (IIS) support professional, as well as serving in Microsoft Services Labs, where he helped customers test their applications to identify performance bottlenecks.