Power your JVM with Effective Garbage Collection Tuning - PowerPoint PPT Presentation

About This Presentation
Title:

Power your JVM with Effective Garbage Collection Tuning

Description:

Power your JVM with Effective Garbage Collection Tuning SiliconIndia Java Conference 29th October, 2010 Vivekanand Jha – PowerPoint PPT presentation

Number of Views:125
Avg rating:3.0/5.0
Slides: 22
Provided by: sili5
Category:

less

Transcript and Presenter's Notes

Title: Power your JVM with Effective Garbage Collection Tuning


1
Power your JVM with Effective Garbage Collection
Tuning
  • SiliconIndia Java Conference
  • 29th October, 2010
  • Vivekanand Jha

2
Its Science
  • MeasuregtUnderstandgtgtTunegtgtMeasuregtgtUnderstandgtgtRet
    une .

3
Agenda
  • Some background on JVM GC Architecture
  • Demystifying JVM tuning and GC tuning
  • Reading the logs

4
(No Transcript)
5
(No Transcript)
6
(No Transcript)
7
Different GC schemes
8
(No Transcript)
9
GC in JDK 7 other exotic GC algorithms
  • G1 or Garbage first algorithm, the holy grail of
    Garbage collection?
  • Pauseless garbage collection from Azul.
  • Garbage collection with hard time guarantee in
    Suns premium product JAVA RTS

10
GC Tuning
  • Tuning the Young Generation
  • Tuning Parallel GC
  • Tuning CMS
  • Monitoring GC

11
Dream GC
  • Low GC Overhead. ie. High Throughput
  • Low GC pause times
  • Space efficiency (Less fragmentation)

12
Wisdom droplets
  • Supersize it
  • Minimize live object for minor collections
  • Size the Tenured generation to steady state space
    requirement
  • WHEN IN DOUBT, SUPERSIZE IT!!

13
Unnecessary Information
  • -Xmxltsizegt max heap size
  • ? young generation old generation
  • gt -Xmsltsizegt initial heap size
  • ? young generation old generation
  • gt -Xmnltsizegt young generation size
  • gt Applications with emphasis on performance tend
  • to set -Xms and -Xmx to the same value
  • gt When -Xms ! -Xmx, heap growth or shrinking
  • requires a Full GC

14
How to get your object profile in YG
  • Monitor tenuring distribution with
  • -XXPrintTenuringDistribution
  • Desired survivor size 6684672 bytes, new
    threshold 8 (max 8)
  • - age 1 2315488 bytes, 2315488 total
  • - age 2 19528 bytes, 2335016 total
  • - age 3 96 bytes, 2335112 total
  • - age 4 32 bytes, 2335144 total

15
Importance of GC Threads
16
Challenges with the CMS
17
CMS-Too early
  • ParNew 390868K-gt296358K(773376K), 0.1882258
    secs
  • CMS-initial-mark 298458K(773376K), 0.0847541
    secs
  • ParNew 401318K-gt306863K(773376K), 0.1933159
    secs
  • CMS-concurrent-mark 0.787/0.981 secs
  • CMS-concurrent-preclean 0.149/0.152 secs
  • CMS-concurrent-abortable-preclean 0.105/0.183
    secs
  • CMS-remark 374049K(773376K), 0.0353394 secs
  • ParNew 407285K-gt312829K(773376K), 0.1969370
    secs
  • ParNew 405554K-gt311100K(773376K), 0.1922082
    secs
  • ParNew 404913K-gt310361K(773376K), 0.1909849
    secs
  • ParNew 406005K-gt311878K(773376K), 0.2012884
    secs
  • CMS-concurrent-sweep 2.179/2.963 secs
  • CMS-concurrent-reset 0.010/0.010 secs
  • ParNew 387767K-gt292925K(773376K), 0.1843175
    secs
  • CMS-initial-mark 295026K(773376K), 0.0865858
    secs
  • ParNew 397885K-gt303822K(773376K), 0.1995878
    secs

18
CMS-Too Late
  • ParNew 742993K-gt648506K(773376K), 0.1688876
    secs
  • ParNew 753466K-gt659042K(773376K), 0.1695921
    secs
  • CMS-initial-mark 661142K(773376K), 0.0861029
    secs
  • Full GC 645986K-gt234335K(655360K), 8.9112629
    secs
  • ParNew 339295K-gt247490K(773376K), 0.0230993
    secs
  • ParNew 352450K-gt259959K(773376K), 0.1933945
    secs

19
  • -XXExplicitGCInvokesConcurrent
  • Requires a post 6 JVM
  • -XXExplicitGCInvokesConcurrentAndUnloadClasses

20
Monitoring GC
  • You need at least
  • ? -XXPrintGCTimeStamps
  • (Add -XXPrintGCDateStamps if you must)
  • ? -XXPrintGCDetails
  • Preferred over -verbosegc as it's more detailed
  • gt Also useful
  • ? -Xloggcltfilegt
  • Separates GC logging output from application
  • output

21
Its Art!
Write a Comment
User Comments (0)
About PowerShow.com