• No results found

Performance Monitoring for the Java Virtual Machine (JVM )

N/A
N/A
Protected

Academic year: 2021

Share "Performance Monitoring for the Java Virtual Machine (JVM )"

Copied!
29
0
0

Loading.... (view fulltext now)

Full text

(1)

Performance 

Monitoring for the 

Java

 Virtual 

Machine (JVM

)

Brian Doherty, Ben Kim, David Stoutamire

J ava P erformance E ngineering S un Micros ys tems , Inc.

(2)

Presentation Goal 

L earn about non- intrusive performance

monitoring and the tools available for

monitoring production systems utilizing

the J ava

software stack.

(3)

Speaker’s Qualifications

B rian, B en, and D avid are all members of

the J ava™ P latform P erformance E ngineering group at S un Micros ys tems

W e represent expertis e in performance

meas urement, analysis, and tuning of industry standard benchmarks, cus tomer applications, the J ava™ clas s libraries , and the J ava

(4)

Performance Measurement—

A Product Lifecycle Process

D on’t stop monitoring your application

just because it’s been deployed!

O bserve your production applications

using minimally invasive tools that are

becoming better integrated across the

software stack.

(5)

Agenda 

W hat is performance monitoring

Monitoring J ava™ applications

─ J ava™ s oftware stack

─ D is tributed applications

D emonstration

─ T ools

─ A nalys is

(6)

Monitoring Goals

Maintain and manage system health

– D etection of performance events

– D etection of application progres s or livenes s

• P erformance tuning

– D rilling down to find caus es

(7)

Performance Management Process

Monitor Start Analysis Design Code Deploy Profile No Yes Performance OK Benchmark

(8)

Profiling Vs. Monitoring

• P roduction vs. D evelopment

– P roduction s ys tems have more res trictive

meas urement needs

– P roduction loads vary over time

(9)

Profiling Vs. Monitoring

Profiling Monitoring

Intrusion High Low

D etail High Low

A ccuracy High Low

(10)

Complexities

Hardware Operating System Virtual Machine Application Server Application

(11)

Complexities

C lient T ier W eb T ier J 2E E ™ A pplication S erver T ier D atabase T ier

T he D eployment A rchitecture

(12)

Monitoring Tools

Network management s ystems

• O S monitoring tools

• J V M monitoring tools

(13)
(14)

What We Saw

S ymptoms

─ E xces s ive memory utilization

─ R estart

T ools s een here

─ R untime.freeMemory()

─ gcore

─ S erviceability A gent

(15)

Other Tools

P roduction

─ - verbos e:gc

D evelopment

─ - verbos e:gc

(16)
(17)

What We Saw

S ymptoms

─ Incons is tent respons e times

T ools s een here

─ V isualG C

(18)

Other Tools

P roduction

─ - verbos e:gc

─ mps tat—identify s ingle threaded G C

─ ps tack—print O S thread dump

─ S IG INT —print J ava thread dump

D evelopment

─ - X prof

(19)
(20)

What We Saw

S ymptoms

─ P oor s ys tem utilization

─ L ow throughput

T ools used

─ Y A X (perfmeter)

• C P U only ~50% utilized

─ S IG INT (thread dump)

(21)

Other Tools

P roduction

─ B ytecode ins trumentation

─ prstat / top

─ ps tack

D evelopment

─ - X prof

(22)

What We Covered

Hardware Operating System Virtual Machine Application Server Application

(23)

What We Covered

• UNIX stat tools

– vmstat, ios tat, mps tat, nets tat ks tat

• UNIX proc tools

– pstack, pmap, prs tat/top, trus s /s trace

• Hardware counters

– cpus tat, bus s tat • Misc. tools

– S E T oolkit

Monitoring the J ava

S oftware S tack

Hardware

Operating System

Virtual Machine Application Server

(24)

What We Covered

• jvmstat tools

• C ommand line options

– - verbos e:[gc|class |jni]

– - X prof – - X X options • S erviceability A gent • J S R 174 interfaces Hardware Operating System Virtual Machine Application Server Application

(25)

What We Covered

• J MX interfaces

– S NMP , C IM/W B E M

• B ytecode instrumentation

– V arious commercial tools • J V MP I, J V MD I tools

– C ommercial and free

Hardware

Operating System

Virtual Machine Application Server

Application

(26)

Summary

P erformance measurement needs to be a product lifecycle process

─ Not jus t a development proces s

Non- intrusive tools are critical for

meas urement of production applications

T ools integrated across the s oftware s tack eas e the measurement and analys is proces s

(27)

Resources

• HotS pot performance documentation

http://java.sun.com/docs/performance • jvmstat http://www.sun.com/developers/coolstuff • S olaris™ performance documentation http://docs.sun.com

• J S R 174: Monitoring and Management

(28)
(29)

References

Related documents

The main topics surveyed are small wind turbine starting behaviour, wind turbine aerofoils, aerofoil performance data, and dynamic stall.. It also explains the motivations behind

Hybrid solutions may use blockchains to store different kinds of data (like the examples  given above), but also construct a network of stakeholder organizations around a

Both of them increase with the demand ratio and decreases with the class constraint: when each server can run a larger number of applications simultaneously, there is less need

Forces in Las Vegas History: dam, military bases, crack-down on illegal gaming, airport, airconditioning, highway,. Amenities Triumph—shows, restaurants, shopping,

Certainly, among the range of questions we might reasonably ask of privatisation (Macpherson, Robertson and Walford, 2014; Evans and Davies, 2014; Kirk, 2014) is

AMPE: Assessment of Musculoskeletal Physical Examination Skills Checklist; GPSE: Global Procedural Skills Evaluation Form; HTTPE: Head to Toe Physical Examination; mO-S3:

When the incumbents in jurisdictions i and j are from different parties, the opposition candidate in jurisdiction i is of the same party as the incumbent in the neighbouring

At peak biomass, the present analysis only considers roots and rhizomes at 25 cm depth; however, root biomass to 100 cm at the beginning of each growing season was not