Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more
Download
Standard view
Full view
of .
Look up keyword or section
Like this
13Activity

Table Of Contents

Before You Begin
General Methods & Approaches
Solaris Kernel Features
The Multithreading Revolution
Solaris 10
Solaris Kernel Overview
Introduction To Performance & Observability Tools
Solaris 10 Dynamic Tracing - DTrace
DTrace – The Big Picture
DTrace – command line
DTrace – D scripts
DTrace – Running syscalls_pid.d
Allowing dtrace for non-root users
DTrace
Modular Debugger – mdb(1)
Kernel Statistics
Procfs Tools
pflags, pcred, pldd
psig
pstack
pfiles
pwdx, pstop, pwait, ptree
pgrep
truss(1)
Solaris Virtual Memory Glossary
Part 1:
Physical Memory Management
The Solaris 8/9 Cache
Memory Summary
Solaris 9 Memory Summary
Vmstat
Vmstat -p
Swapping
Swap Usage
Part 2:
Address Spaces: A Deeper Dive
Example Program
Pmap -x (Solaris 8)
Examining paging with dtrace VM Providor
Examining paging with dtrace
Solaris 9 pmap
Process Swap Reservations
Unbundled Tools
Process/Threads Glossary
Solaris Process Model
Solaris Process
Kernel Process Table
System-wide Process View - ps(1)
System-wide Process View - prstat(1)
The Life Of A Process
Process Creation
fork(2) in Solaris 10
exec(2) – Load a new process image
Process / Thread States
State Transitions
Watching Process States
Microstates
prstat – process microstates
prstat – user summary
Solaris 8 ptools
Solaris 9 / 10 ptools
Tracing
Process Tracing – Truss
Process Tracing – System Call Summary
Library Tracing - truss -u
Library Tracing – apptrace(1)
User Threads
Threads Primer Example:
T1 – Multilevel MxN Model
T1- Multilevel Model
T2 - Single Level Thread Model
Watching Threads
Thread Semantics Added to pstack, truss
Thread Microstates
Scheduling Classes & The Kernel Dispatcher
Solaris Scheduling
Scheduling Classes
Scheduling Classes – Solaris 9 & 10
Scheduling Classes and Priorities
Scheduling Class & Priority of Threads
Dispatch Queues & Dispatch Tables
Per-CPU Dispatch Queues
Timeshare Dispatch Table
RT, FX & FSS Dispatch Tables
Dispatch Queue Placement
Thread Selection
Thread Preemption
Thread Execution
Sleep & Wakeup
Creating a Processor Set for cpuhog
File System Architecture
File system I/O via Virtual Memory
File System I/O
File System Reads: A UFS Read
Memory Mapped I/O
File System Implementation
Disk-based File System Architecture
The big caches:
File System Caching
Enabling Direct I/O
Using Direct I/O
The TMPFS filesystem: A mountable RAM-Disk
TMPFS File System Architecture
Lab: tmpfs
The Solaris 8 File System Cache
Tuning segmap
Tuning segmap_percent
UFS Access times
Asynchronous I/O
Putting it all together: Database File I/O
UFS is now Enhanced for Databases:
Key UFS Features
Database big rules
UFS write throttle
Other items for Solaris UFS
Solaris Volume Manager
Volume Manager/FS Features
Summary
Resources
Thank You!
Questions?
Solaris Kernel Performance, Observability & Debugging Day 2
Performance & Observability Tools, Day 2
Dtrace – The Big Picture
DTrace Components
DTrace Probes
DTrace Providers
DTrace Providers, cont
DTrace Consumers
Listing probes
Fully specifying probes
Enabling probes
Actions
The D language
Built-in D variables
Actions: “trace”
Actions, cont
D Scripts
D Scripts, cont
Predicates
Predicates, cont
Actions: More actions
Actions: Destructive actions
Output formatting
Output formatting, cont
Global D variables
Global D variables, cont
Thread-local D variables
Thread-local D variables, cont
Aggregations
A System View
mpstat(1)
prstat(1)
prstat(1) – Threads
prstat(1) - Microstates
DTrace – Getting Below The Numbers syscalls
Dtrace – Getting Below The Numbers xcalls
Dtrace - xcalls
Lock Statistics – mpstat
Examining Adaptive Locks Excessive Spinning
Trap CPU Accounting
Interrupt partitioning
Advanced Memory Topics
A Quick Guide to Analyzing Memory
Solaris 9+ Memory Summary
Memory Kstats – via kstat(1m)
Memory Kstats – via kstat Perl API
Using prstat to estimate paging slow-downs
Using DTrace for memory Analysis
Using DTrace for Memory Analysis
Using DTrace to estimate paging slow-downs
To a Terrabyte and Beyond: Utilizing and Tuning Large Memory
Large Memory
Large memory in perspective
64-bits – enough for everyone?
Solaris 7,8,9
64-Bit Solaris
Why 64-bit for large memory?
Developer Perspective
64-Bit Oracle
Do I need Large Pages?
TLB Performance Knees
Trapstat Introduction
Available Page Sizes
Setting Page Sizes
Checking Allocated Page Sizes
TLB traps eliminated
Solution: Use the preload lib
What about Solaris 8?
Tips for UltraSPARC revs
OK, Lets do something about it
Executable Files
Executable & Linking Format (ELF)
ELF Files
Examing ELF Files
Examining ELF Files
Examing ELF Linker Dependencies
Runtime Linker Debug
Runtime Linker Debug - Libs
Runtime Linker Debug - Bindings
Runtime Linker – Debug
Process Structure
Process create example
Fork Kernel Trace
Fork Kernel Trace (cont)
Watching Forks
DTrace - exec(2)
Dtrace
Threads
Examining A Thread Structure
Who's Creating Threads?
Scheduling Class Functions
Scheduling Class Array
Scheduler Activations
Dtrace sched provider probes:
Lock Statistics – lockstat
lockstat - kernel profiling
Process, Thread, Scheduling Lab
Solaris iostat
Lab: 1 thread I/O example
Lab: 64 thread I/O example
Solaris iostat: New opts. since Solaris 8
Examining Physical IO by file with dtrace
Lab: Physical Trace Example
Examining IO wait with dtrace
Lab: Observing the File System I/O Path
Lab: Observing File System I/O
Lab: Observing File System I/O: Sync Writes
Random I/O
Sequential I/O
Sequential I/O – Looking at disks via iostat
Sequential I/O – Maximizing I/O Sizes
Examining UFS Block Layout with filestat
Network File Systems – Some background
However, now network >= storage/SCSI
Back to the future: Storage over IP
IP Storage in Solaris
NFS Client: Optimizing for sequential
NFS Client: Database Performance
NFS Database Simulation using FileBench
NFS Client: Open/Close optimization
NFS Server
Filesystem Performance Characterization
Requirements for file-level benchmarking
Characterization Strategies
Model based methodology study
Model Allows Complex/Important Scaling Curves
Characterize and Simulate via Cascades of Workload Flows:
Flow States: Open Ended Flow
Flow States: Synchronized Flow
Examples of Per-flow Operations
Simple Random I/O Workload Description
Random I/O – NFS V3
Database Emulation Overview
Database Emulation Process Tree
Simplified OLTP Database Program
OLTP Program – Benchmark Result Detail
NFS OLTP – IOPS Scaling
Workload Discussion
Filebench Achitecture
Running filebench
Filebench Status
ZFS:
ZFS Overview
ZFS Principles
Background: Why Volumes Exist
FS/Volume Model vs. ZFS
ZFS Administation
Solaris Resource Management
Service Level Management:
Policy based performance:
Enabling Server Consolidation
Server Virtualization
Resource Management Is…
Resource Partitioning
Resource Pools
Workload Classification
Project
Project—More Details
Resource Control
Fair Share Scheduler
IPQOS
Resource Accounting
Workload Performance Tools
Using ps with workloads
Using prstat-J with workloads
0 of .
Results for:
No results containing your search query
P. 1
SOLARIS Kernel - Performance, Observability & Debugging

SOLARIS Kernel - Performance, Observability & Debugging

Ratings: (0)|Views: 1,150 |Likes:
Published by crryu

More info:

Published by: crryu on Jul 19, 2008
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

07/26/2012

pdf

text

original

You're Reading a Free Preview
Pages 11 to 44 are not shown in this preview.
You're Reading a Free Preview
Pages 55 to 165 are not shown in this preview.
You're Reading a Free Preview
Pages 176 to 262 are not shown in this preview.
You're Reading a Free Preview
Pages 273 to 308 are not shown in this preview.
You're Reading a Free Preview
Pages 319 to 536 are not shown in this preview.

Activity (13)

You've already reviewed this. Edit your review.
1 hundred reads
1 thousand reads
Smith Rx liked this
JaeHeung Gill liked this
dave412562395 liked this
padi53 liked this
shekar_bandi liked this
davevink liked this
asingh2819 liked this

You're Reading a Free Preview

Download
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->