enterprise professional expertise distilled

Size: px
Start display at page:

Download "enterprise professional expertise distilled"

Transcription

1 Oracle JRockit The Definitive Guide Develop and manage robust Java applications with Oracle's high-performance Java Virtual Machine Marcus Hirt Marcus Lagergren PUBLISHING enterprise professional expertise distilled - BIRMINGHAM MUMBAI

2 Preface 1_ Chapter 1: Getting Started 11 Obtaining the JRockit JVM 11 Migrating to JRockit 13 Command-line options 13 System properties 13 Standardized options 14 Non-standard options 14 Changes in behavior 14 A note on JRockit versioning 15 Getting help 17 Summary 18 Chapter 2: Adaptive Code Generation 19 Platform independence 20 The Java Virtual Machine 21 Stack machine 21 Bytecode format 22 Operations and operands 23 The constant pool 24 Code generation strategies 24 Pure bytecode interpretation 24 Static compilation 26 Total JIT compilation 27 Mixed mode interpretation 28 Adaptive code generation 29 Determining "hotness" 30 Invocation counters 30 Software-based thread sampling 31 Hardware-based sampling 31

3 Optimizing a changing program 31 Inside the JIT compiler 34 Working with bytecode 34 Bytecode obfuscation 36 Bytecode "optimizers" 37 Abstract syntax trees 38 Where to optimize 41 The JRockit code pipeline 42 Why JRockit has no bytecode interpreter 43 Bootstrapping 44 Runtime code generation 44 Trampolines 45 Code generation requests 46 Optimization requests 47 On-stack replacement 47 Bookkeeping 48 A walkthrough of method generation in JRockit 49 The JRockit IR format 49 JIT compilation 51 Generating optimized code 58 Controlling code generation in JRockit 64 Command-line flags and directive files 64 Command-line flags 64 Directive files 67 Summary 70 Chapter 3: Adaptive Memory Management 7JL The concept of automatic memory management 72 Adaptive memory management 72 Advantages of automatic memory management 73 Disadvantages of automatic memory management 74 Fundamental heap management 74 Allocating and releasing objects 74 Fragmentation and compaction 75 Garbage collection algorithms 76 Reference counting 77 Tracing techniques 77 Mark and sweep 78 Stop and copy 80 Stopping the world 81 Conservative versus exact collectors 82 Livemaps 84 Generational garbage collection 87 Multi generation nurseries 88

4 Table ofcontents Write barriers 88 Throughput versus low latency 90 Optimizing for throughput 91 Optimizing for low latency 91 Garbage collection in JRockit 92 Old collections 93 Nursery collections 93 Permanent generations 94 Compaction 95 Speeding it up and making it scale 95 Thread local allocation 96 Larger heaps Bits and the 4-GB Barrier 97 The 64-bit world 98 Cache friendliness 100 Prefetching 101 Data placement 102 NUMA 102 Large pages 104 Adaptability 105 Near-real-time garbage collection 107 Hard and soft real-time 107 JRockit Real Time 108 Does the soft real-time approach work? 109 How does it work? 111 The Java memory API 112 Finalizers 112 References 113 Weak references 113 Soft references 114 Phantom references 114 Differences in JVM behavior 116 Pitfalls and false optimizations 116 Java is not C Controlling JRockit memory management 117 Basic switches 118 Outputting GC data 118 Set initial and maximum heap size 119 Controlling what to optimize for 119 Specifying a garbage collection strategy 120 Compressed references 120 Advanced switches 121 Summary 121

5 Chapter 4: Threads and Synchronization 123 Fundamental concepts 124 Hard to debug 126 Difficult to optimize 126 Latency analysis 127 Java API 129 The synchronized keyword 129 The java.lang.thread class 129 The java.util.concurrent package 130 Semaphores 131 The volatile keyword 133 Implementing threads and synchronization in Java 135 The Java Memory Model 135 Early problems and ambiguities 136 JSR Implementing synchronization 139 Primitives 139 Locks 141 The Java bytecode implementation 146 Lock pairing 148 Implementing threads 150 Green threads 150 OS threads 151 Optimizing threads and synchronization 152 Lock inflation and lock deflation 152 Recursive locking 153 Lock fusion 154 Lazy unlocking 155 Implementation 156 Object banning 157 Class banning 157 Results Pitfalls and false optimizations 159 Thread.stop, Thread.resume and Thread.suspend 159 Double checked locking 160 JRockit flags 162 Examining locks and lazy unlocking 162 Lock details from -Xverbose:locks 162 Controlling lazy unlocking with -XX:UseLazyUnlocking 163 Using SIGQUIT or Ctrl-Break for Stack Traces

6 Lock profiling 166 Enabling lock profiling with -XX:UseLockProfiling 166 Setting thread stack size using -Xss 168 Controlling lock heuristics 168 Summary 168 Chapter 5: Benchmarking and Tuning 171 Reasons for benchmarking 172 Performance goals 172 Performance regression testing 173 Easier problem domains to optimize 174 Commercial success 175 What to think of when creating a benchmark 175 Measuring outside the system 177 Measuring several times 179 Micro benchmarks 179 Micro benchmarks and on-stack replacement 181 Micro benchmarks and startup time 182 Give the benchmark a chance to warm-up 183 Deciding what to measure 183 Throughput 184 Throughput with response time and latency 184 Scalability 185 Power consumption 186 Other issues 187 Industry-standard benchmarks 187 The SPEC benchmarks 188 The SPECjvm suite 188 The SPECjAppServer / SPECjEnterprise2010 suite 189 The SPECjbb suite 190 SipStone 192 The DaCapo benchmarks 192 Real world applications 193 The dangers of benchmarking 193 Tuning 194 Out of the box behavior 194 What to tune for 196 Tuning memory management 196 Tuning code generation 202 Tuning locks and threads 204 Generic tuning 205

7 Common bottlenecks and how to avoid them 206 The-XXaggressive flag 207 Too many finalizers 207 Too many reference objects 207 Object pooling 208 Bad algorithms and data structures 209 Classic textbook issues 209 Unwanted intrinsic properties 210 Misuse of System.gc 211 Too many threads 211 One contended lock is the global bottleneck 212 Unnecessary exceptions 212 Large objects 214 Native memory versus heap memory 215 Wait/notify and fat locks 216 Wrong heap size 216 Too much live data 216 Java is not a silver bullet 217 Summary 218 Chapter 6: JRockit Mission Control 219 Background 220 Sampling-based profiling versus exact profiling 221 A different animal to different people 223 Mission Control overview 224 Mission Control server-side components 226 Mission Control client-side components 226 Terminology 228 Running the standalone version of Mission Control 230 Running JRockit Mission Control inside Eclipse 232 Starting JRockit for remote management 235 The JRockit Discovery Protocol 236 Running in a secure environment 241 Troubleshooting connections 243 Hostname resolution issues 245 The Experimental Update Site 246 Debugging JRockit Mission Control 247 Summary 249 Chapter 7: The Management Console 251 A JMX Management Console 252 Using the console 253 General 254

8 The Overview 254 MBeans 261 MBean Browser 262 Triggers 266 Runtime 271 System 272 Memory 273 Threads 275 Advanced 276 Method Profiler 277 Exception Count 280 Diagnostic Commands 281 Other 283 JConsole 283 Extending the JRockit Mission Control Console 284 Summary 292 Chapter 8: The Runtime Analyzer 293 The need for feedback 294 Recording 295 Analyzing JRA recordings 298 General 299 Overview 299 Recording 300 System 301 Memory 302 Overview 302 GCs 302 GC Statistics 306 Allocation 308 Heap Contents 309 Object Statistics 309 Code 310 Overview 310 Hot Methods 312 Optimizations 314 Thread/Locks 315 Overview 316 Threads 317 Java Locks 318 JVM Locks 320 Thread Dumps 320 Latency 321 Overview 322 Log 323 Graph 324

9 Threads 325 Traces 326 Histogram 327 Using the Operative Set 327 Troubleshooting 331 Summary 331 Chapter 9: The Flight Recorder 33j3 The evolved Runtime Analyzer 334 A word on events 334 The recording engine 335 Startup options 337 Starting time-limited recordings 339 Flight Recorder in JRockit Mission Control 340 Advanced Flight Recorder Wizard concepts 345 Differences to JRA 348 The range selector 349 The Operative Set 351 The relational key 351 What's in a Latency? 354 Exception profiling 357 Memory 359 Adding custom events 361 Extending the Flight Recorder client 366 Summary 377 Chapter 10: The Memory Leak Detector 379 A Java memory leak 379 Memory leaks in static languages 380 Memory leaks in garbage collected languages 380 Detecting a Java memory leak 381 Memleak technology 382 Tracking down the leak 383 A look at classloader-related information 392 Interactive memory leak hunting 394 The general purpose heap analyzer 397 Allocation traces 398 Troubleshooting Memleak 399 Summary 401

10 Chapter 11: JRCMD 403 Introduction 404 Overriding SIGQUIT 405 Special commands 407 Limitations of JRCMD 407 JRCMD command reference 408 check_flightrecording (R28) 408 checkjrarecording (R27) 409 commandjine 410 dump_flightrecording (R28) 410 heap_diagnostics (R28) 411 hprofdump (R28) 415 kill_management_server 416 list_vmflags (R28) 416 lockprofile_print 417 lockprofile_reset 418 memleakserver 418 oom_diagnostics (R27) 419 pri nt_cl ass_s umma ry 419 print_codegenjist 420 print_memusage (R27) 421 printjnemusage (R28) 422 print_object_summary 428 print_properties 431 prinmhreads 432 print_utf8pool 434 print_vm_state 434 run_optfile (R27) 435 run_optfile (R28) 436 runfinalization 436 runsystemgc 436 set_vmflag (R28) 437 startjlightrecording (R28) 437 start_management_server 438 startjrarecording (R27) 439 stop_flightrecording (R28) 440 timestamp 441 verbosity 441 version 443 Summary 443

11 Chapter 12: Using the JRockit Management APIs 445 JMAPI 445 JMAPI examples 447 JMXMAPI 450 The JRockit internal performance counters 452 An example building a remote version of JRCMD 455 Summary 460 Chapter 13: JRockit Virtual Edition 461 Introduction to visualization 462 Full virtualization 464 Paravirtualization 464 Other virtualization keywords 465 Hypervisors 465 Hosted hypervisors 465 Native hypervisors 466 Hypervisors in the market 466 Advantages of virtualization 467 Disadvantages of virtualization 468 Virtualizing Java 468 Introducing JRockit Virtual Edition 470 The JRockit VE kernel 472 The virtual machine image concept and management frameworks 474 Benefits of JRockit VE 481 Performance and better resource utilization 481 Manageability 484 Simplicity and security 484 Constraints and limitations of JRockit VE 486 A look ahead can virtual be faster than real? 486 Quality of hot code samples 486 Adaptive heap resizing 487 Inter-thread page protection 488 Improved garbage collection 488 Concurrent compaction 491 Summary 491 Appendix A: Bibliography 493 Appendix B: Glossary 503 Index 545

Oracle JRockit Mission Control Overview

Oracle JRockit Mission Control Overview Oracle JRockit Mission Control Overview An Oracle White Paper June 2008 JROCKIT Oracle JRockit Mission Control Overview Oracle JRockit Mission Control Overview...3 Introduction...3 Non-intrusive profiling

More information

BEAJRockit Mission Control. Using JRockit Mission Control in the Eclipse IDE

BEAJRockit Mission Control. Using JRockit Mission Control in the Eclipse IDE BEAJRockit Mission Control Using JRockit Mission Control in the Eclipse IDE Mission Control 3.0.2 Document Revised: June, 2008 Contents 1. Introduction Benefits of the Integration................................................

More information

Oracle WebLogic Server 11g: Monitor and Tune Performance

Oracle WebLogic Server 11g: Monitor and Tune Performance D61529GC10 Edition 1.0 March 2010 D66055 Oracle WebLogic Server 11g: Monitor and Tune Performance Student Guide Author Shankar Raman Technical Contributors and Reviewer s Werner Bauer Nicole Haba Bala

More information

An Oracle White Paper September 2013. Advanced Java Diagnostics and Monitoring Without Performance Overhead

An Oracle White Paper September 2013. Advanced Java Diagnostics and Monitoring Without Performance Overhead An Oracle White Paper September 2013 Advanced Java Diagnostics and Monitoring Without Performance Overhead Introduction... 1 Non-Intrusive Profiling and Diagnostics... 2 JMX Console... 2 Java Flight Recorder...

More information

2 2011 Oracle Corporation Proprietary and Confidential

2 2011 Oracle Corporation Proprietary and Confidential The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material,

More information

Java Mission Control

Java Mission Control Java Mission Control Harald Bräuning Resources Main Resource: Java Mission Control Tutorial by Marcus Hirt http://hirt.se/downloads/oracle/jmc_tutorial.zip includes sample projects! Local copy: /common/fesa/jmcexamples/jmc_tutorial.zip

More information

WEBLOGIC ADMINISTRATION

WEBLOGIC ADMINISTRATION WEBLOGIC ADMINISTRATION Session 1: Introduction Oracle Weblogic Server Components Java SDK and Java Enterprise Edition Application Servers & Web Servers Documentation Session 2: Installation System Configuration

More information

Using jvmstat and visualgc to Solve Memory Management Problems

Using jvmstat and visualgc to Solve Memory Management Problems Using jvmstat and visualgc to Solve Memory Management Problems java.sun.com/javaone/sf 1 Wally Wedel Sun Software Services Brian Doherty Sun Microsystems, Inc. Analyze JVM Machine Memory Management Problems

More information

Tool - 1: Health Center

Tool - 1: Health Center Tool - 1: Health Center Joseph Amrith Raj http://facebook.com/webspherelibrary 2 Tool - 1: Health Center Table of Contents WebSphere Application Server Troubleshooting... Error! Bookmark not defined. About

More information

Replication on Virtual Machines

Replication on Virtual Machines Replication on Virtual Machines Siggi Cherem CS 717 November 23rd, 2004 Outline 1 Introduction The Java Virtual Machine 2 Napper, Alvisi, Vin - DSN 2003 Introduction JVM as state machine Addressing non-determinism

More information

Mission-Critical Java. An Oracle White Paper Updated October 2008

Mission-Critical Java. An Oracle White Paper Updated October 2008 Mission-Critical Java An Oracle White Paper Updated October 2008 Mission-Critical Java The Oracle JRockit family of products is a comprehensive portfolio of Java runtime solutions that leverages the base

More information

CSCI E 98: Managed Environments for the Execution of Programs

CSCI E 98: Managed Environments for the Execution of Programs CSCI E 98: Managed Environments for the Execution of Programs Draft Syllabus Instructor Phil McGachey, PhD Class Time: Mondays beginning Sept. 8, 5:30-7:30 pm Location: 1 Story Street, Room 304. Office

More information

Production time profiling On-Demand with Java Flight Recorder

Production time profiling On-Demand with Java Flight Recorder Production time profiling On-Demand with Java Flight Recorder Using Java Mission Control & Java Flight Recorder Klara Ward Principal Software Developer Java Platform Group, Oracle Copyright 2015, Oracle

More information

Oracle WebLogic Server Monitoring and Performance Tuning

Oracle WebLogic Server Monitoring and Performance Tuning Oracle WebLogic Server Monitoring and Performance Tuning Duško Vukmanović Principal Sales Consultant, FMW Stuck Threads A Label given to threads not returned to thread pool after

More information

How To Use Java On An Ipa 2.2.2 (Jspa) With A Microsoft Powerbook (Jempa) With An Ipad 2.3.2 And A Microos 2.5 (Microos)

How To Use Java On An Ipa 2.2.2 (Jspa) With A Microsoft Powerbook (Jempa) With An Ipad 2.3.2 And A Microos 2.5 (Microos) Java Monitoring and Diagnostic Tooling Iris Baron IBM Java JIT on System Z ibaron@ca.ibm.com Session ID: 16182 Insert Custom Session QR if Desired. Java Road Map Java 7.0 Language Updates Java 6.0 SE 5.0

More information

Java Troubleshooting and Performance

Java Troubleshooting and Performance Java Troubleshooting and Performance Margus Pala Java Fundamentals 08.12.2014 Agenda Debugger Thread dumps Memory dumps Crash dumps Tools/profilers Rules of (performance) optimization 1. Don't optimize

More information

THE BUSY DEVELOPER'S GUIDE TO JVM TROUBLESHOOTING

THE BUSY DEVELOPER'S GUIDE TO JVM TROUBLESHOOTING THE BUSY DEVELOPER'S GUIDE TO JVM TROUBLESHOOTING November 5, 2010 Rohit Kelapure HTTP://WWW.LINKEDIN.COM/IN/ROHITKELAPURE HTTP://TWITTER.COM/RKELA Agenda 2 Application Server component overview Support

More information

Identifying Performance Bottleneck using JRockit. - Shivaram Thirunavukkarasu Performance Engineer Wipro Technologies

Identifying Performance Bottleneck using JRockit. - Shivaram Thirunavukkarasu Performance Engineer Wipro Technologies Identifying Performance Bottleneck using JRockit - Shivaram Thirunavukkarasu Performance Engineer Wipro Technologies Table of Contents About JRockit Mission Control... 3 Five things to look for in JRMC

More information

Tuning WebSphere Application Server ND 7.0. Royal Cyber Inc.

Tuning WebSphere Application Server ND 7.0. Royal Cyber Inc. Tuning WebSphere Application Server ND 7.0 Royal Cyber Inc. JVM related problems Application server stops responding Server crash Hung process Out of memory condition Performance degradation Check if the

More information

Oracle JRockit E15070-06

Oracle JRockit E15070-06 Oracle JRockit Flight Recorder Run Time Guide Release R28 E15070-06 May 2011 This document contains background on the Oracle JRockit Flight Recorder Run-time implementation and instructions for using this

More information

PART IV Performance oriented design, Performance testing, Performance tuning & Performance solutions. Outline. Performance oriented design

PART IV Performance oriented design, Performance testing, Performance tuning & Performance solutions. Outline. Performance oriented design PART IV Performance oriented design, Performance testing, Performance tuning & Performance solutions Slide 1 Outline Principles for performance oriented design Performance testing Performance tuning General

More information

Holly Cummins IBM Hursley Labs. Java performance not so scary after all

Holly Cummins IBM Hursley Labs. Java performance not so scary after all Holly Cummins IBM Hursley Labs Java performance not so scary after all So... You have a performance problem. What next? Goals After this talk you will: Not feel abject terror when confronted with a performance

More information

AGENDA. Introduction About Weblogic Server Weblogic Server Administration Top Ten Concepts Q & A

AGENDA. Introduction About Weblogic Server Weblogic Server Administration Top Ten Concepts Q & A AGENDA Introduction About Weblogic Server Weblogic Server Administration Top Ten Concepts Q & A Weblogic Server - Introduction #1 in worldwide Application Server Software, with a growth rate of 11.7% The

More information

A Practical Method to Diagnose Memory Leaks in Java Application Alan Yu

A Practical Method to Diagnose Memory Leaks in Java Application Alan Yu A Practical Method to Diagnose Memory Leaks in Java Application Alan Yu 1. Introduction The Java virtual machine s heap stores all objects created by a running Java application. Objects are created by

More information

Java Performance. Adrian Dozsa TM-JUG 18.09.2014

Java Performance. Adrian Dozsa TM-JUG 18.09.2014 Java Performance Adrian Dozsa TM-JUG 18.09.2014 Agenda Requirements Performance Testing Micro-benchmarks Concurrency GC Tools Why is performance important? We hate slow web pages/apps We hate timeouts

More information

TDA - Thread Dump Analyzer

TDA - Thread Dump Analyzer TDA - Thread Dump Analyzer TDA - Thread Dump Analyzer Published September, 2008 Copyright 2006-2008 Ingo Rockel Table of Contents 1.... 1 1.1. Request Thread Dumps... 2 1.2. Thread

More information

Java Monitoring. Stuff You Can Get For Free (And Stuff You Can t) Paul Jasek Sales Engineer

Java Monitoring. Stuff You Can Get For Free (And Stuff You Can t) Paul Jasek Sales Engineer Java Monitoring Stuff You Can Get For Free (And Stuff You Can t) Paul Jasek Sales Engineer A Bit About Me Current: Past: Pre-Sales Engineer (1997 present) WaveMaker Wily Persistence GemStone Application

More information

How To Improve Performance On An Asa 9.4 Web Application Server (For Advanced Users)

How To Improve Performance On An Asa 9.4 Web Application Server (For Advanced Users) Paper SAS315-2014 SAS 9.4 Web Application Performance: Monitoring, Tuning, Scaling, and Troubleshooting Rob Sioss, SAS Institute Inc., Cary, NC ABSTRACT SAS 9.4 introduces several new software products

More information

Practical Performance Understanding the Performance of Your Application

Practical Performance Understanding the Performance of Your Application Neil Masson IBM Java Service Technical Lead 25 th September 2012 Practical Performance Understanding the Performance of Your Application 1 WebSphere User Group: Practical Performance Understand the Performance

More information

Garbage Collection in the Java HotSpot Virtual Machine

Garbage Collection in the Java HotSpot Virtual Machine http://www.devx.com Printed from http://www.devx.com/java/article/21977/1954 Garbage Collection in the Java HotSpot Virtual Machine Gain a better understanding of how garbage collection in the Java HotSpot

More information

Troubleshoot the JVM like never before. JVM Troubleshooting Guide. Pierre-Hugues Charbonneau Ilias Tsagklis

Troubleshoot the JVM like never before. JVM Troubleshooting Guide. Pierre-Hugues Charbonneau Ilias Tsagklis Troubleshoot the JVM like never before JVM Troubleshooting Guide Pierre-Hugues Charbonneau Ilias Tsagklis Table of Contents Oracle HotSpot JVM Memory...3 Java HotSpot VM Heap space...3 Java HotSpot VM

More information

CHAPTER 1 - JAVA EE OVERVIEW FOR ADMINISTRATORS

CHAPTER 1 - JAVA EE OVERVIEW FOR ADMINISTRATORS CHAPTER 1 - JAVA EE OVERVIEW FOR ADMINISTRATORS Java EE Components Java EE Vendor Specifications Containers Java EE Blueprint Services JDBC Data Sources Java Naming and Directory Interface Java Message

More information

Effective Java Programming. measurement as the basis

Effective Java Programming. measurement as the basis Effective Java Programming measurement as the basis Structure measurement as the basis benchmarking micro macro profiling why you should do this? profiling tools Motto "We should forget about small efficiencies,

More information

Oracle WebLogic Server 11g Administration

Oracle WebLogic Server 11g Administration Oracle WebLogic Server 11g Administration This course is designed to provide instruction and hands-on practice in installing and configuring Oracle WebLogic Server 11g. These tasks include starting and

More information

Monitoring and Managing a JVM

Monitoring and Managing a JVM Monitoring and Managing a JVM Erik Brakkee & Peter van den Berkmortel Overview About Axxerion Challenges and example Troubleshooting Memory management Tooling Best practices Conclusion About Axxerion Axxerion

More information

Validating Java for Safety-Critical Applications

Validating Java for Safety-Critical Applications Validating Java for Safety-Critical Applications Jean-Marie Dautelle * Raytheon Company, Marlborough, MA, 01752 With the real-time extensions, Java can now be used for safety critical systems. It is therefore

More information

System Structures. Services Interface Structure

System Structures. Services Interface Structure System Structures Services Interface Structure Operating system services (1) Operating system services (2) Functions that are helpful to the user User interface Command line interpreter Batch interface

More information

What s Cool in the SAP JVM (CON3243)

What s Cool in the SAP JVM (CON3243) What s Cool in the SAP JVM (CON3243) Volker Simonis, SAP SE September, 2014 Public Agenda SAP JVM Supportability SAP JVM Profiler SAP JVM Debugger 2014 SAP SE. All rights reserved. Public 2 SAP JVM SAP

More information

Weblogic Server Administration Top Ten Concepts. Mrityunjay Kant, AST Corporation Scott Brinker, College of American Pathologist

Weblogic Server Administration Top Ten Concepts. Mrityunjay Kant, AST Corporation Scott Brinker, College of American Pathologist Weblogic Server Administration Top Ten Concepts Mrityunjay Kant, AST Corporation Scott Brinker, College of American Pathologist Specialized. Recognized. Preferred. The right partner makes all the difference.

More information

Java Debugging Ľuboš Koščo

Java Debugging Ľuboš Koščo Java Debugging Ľuboš Koščo Solaris RPE Prague Agenda Debugging - the core of solving problems with your application Methodologies and useful processes, best practices Introduction to debugging tools >

More information

Extreme Performance with Java

Extreme Performance with Java Extreme Performance with Java QCon NYC - June 2012 Charlie Hunt Architect, Performance Engineering Salesforce.com sfdc_ppt_corp_template_01_01_2012.ppt In a Nutshell What you need to know about a modern

More information

Java Performance Tuning

Java Performance Tuning Summer 08 Java Performance Tuning Michael Finocchiaro This white paper presents the basics of Java Performance Tuning for large Application Servers. h t t p : / / m f i n o c c h i a r o. w o r d p r e

More information

Oracle Java SE and Oracle Java Embedded Products

Oracle Java SE and Oracle Java Embedded Products Oracle Java SE and Oracle Java Embedded Products This document describes the Oracle Java SE product editions, Oracle Java Embedded products, and the features available with them. It contains the following

More information

MagDiSoft Web Solutions Office No. 102, Bramha Majestic, NIBM Road Kondhwa, Pune -411048 Tel: 808-769-4605 / 814-921-0979 www.magdisoft.

MagDiSoft Web Solutions Office No. 102, Bramha Majestic, NIBM Road Kondhwa, Pune -411048 Tel: 808-769-4605 / 814-921-0979 www.magdisoft. WebLogic Server Course Following is the list of topics that will be covered during the course: Introduction to WebLogic What is Java? What is Java EE? The Java EE Architecture Enterprise JavaBeans Application

More information

Monitoring Java enviroment / applications

Monitoring Java enviroment / applications Monitoring Java enviroment / applications Uroš Majcen uros@quest-slo.com Java is Everywhere You Can Expect More. Java in Mars Rover With the help of Java Technology, and the Jet Propulsion Laboratory (JPL),

More information

picojava TM : A Hardware Implementation of the Java Virtual Machine

picojava TM : A Hardware Implementation of the Java Virtual Machine picojava TM : A Hardware Implementation of the Java Virtual Machine Marc Tremblay and Michael O Connor Sun Microelectronics Slide 1 The Java picojava Synergy Java s origins lie in improving the consumer

More information

IBM SDK, Java Technology Edition Version 1. IBM JVM messages IBM

IBM SDK, Java Technology Edition Version 1. IBM JVM messages IBM IBM SDK, Java Technology Edition Version 1 IBM JVM messages IBM IBM SDK, Java Technology Edition Version 1 IBM JVM messages IBM Note Before you use this information and the product it supports, read the

More information

HeapStats: Your Dependable Helper for Java Applications, from Development to Operation

HeapStats: Your Dependable Helper for Java Applications, from Development to Operation : Technologies for Promoting Use of Open Source Software that Contribute to Reducing TCO of IT Platform HeapStats: Your Dependable Helper for Java Applications, from Development to Operation Shinji Takao,

More information

WebLogic Server Admin

WebLogic Server Admin Course Duration: 1 Month Working days excluding weekends Overview of Architectures Installation and Configuration Creation and working using Domain Weblogic Server Directory Structure Managing and Monitoring

More information

Informatica Master Data Management Multi Domain Hub API: Performance and Scalability Diagnostics Checklist

Informatica Master Data Management Multi Domain Hub API: Performance and Scalability Diagnostics Checklist Informatica Master Data Management Multi Domain Hub API: Performance and Scalability Diagnostics Checklist 2012 Informatica Corporation. No part of this document may be reproduced or transmitted in any

More information

Java Garbage Collection Basics

Java Garbage Collection Basics Java Garbage Collection Basics Overview Purpose This tutorial covers the basics of how Garbage Collection works with the Hotspot JVM. Once you have learned how the garbage collector functions, learn how

More information

WebLogic Server System Administration Top Ten Fundamentals Concepts Session ID# 11579

WebLogic Server System Administration Top Ten Fundamentals Concepts Session ID# 11579 WebLogic Server System Administration Top Ten Fundamentals Concepts Session ID# 11579 Scott Brinker, College of American Pathologist Shyam Kumar, AST Corporation Agenda Introduction About WebLogic Server

More information

General Introduction

General Introduction Managed Runtime Technology: General Introduction Xiao-Feng Li (xiaofeng.li@gmail.com) 2012-10-10 Agenda Virtual machines Managed runtime systems EE and MM (JIT and GC) Summary 10/10/2012 Managed Runtime

More information

B M C S O F T W A R E, I N C. BASIC BEST PRACTICES. Ross Cochran Principal SW Consultant

B M C S O F T W A R E, I N C. BASIC BEST PRACTICES. Ross Cochran Principal SW Consultant B M C S O F T W A R E, I N C. PATROL FOR WEBSPHERE APPLICATION SERVER BASIC BEST PRACTICES Ross Cochran Principal SW Consultant PAT R O L F O R W E B S P H E R E A P P L I C AT I O N S E R V E R BEST PRACTICES

More information

Instrumentation Software Profiling

Instrumentation Software Profiling Instrumentation Software Profiling Software Profiling Instrumentation of a program so that data related to runtime performance (e.g execution time, memory usage) is gathered for one or more pieces of the

More information

WebLogic Server 11g Administration Handbook

WebLogic Server 11g Administration Handbook ORACLE: Oracle Press Oracle WebLogic Server 11g Administration Handbook Sam R. Alapati Mc Graw Hill New York Chicago San Francisco Lisbon London Madrid Mexico City Milan New Delhi San Juan Seoul Singapore

More information

WebSphere Architect (Performance and Monitoring) 2011 IBM Corporation

WebSphere Architect (Performance and Monitoring) 2011 IBM Corporation Track Name: Application Infrastructure Topic : WebSphere Application Server Top 10 Performance Tuning Recommendations. Presenter Name : Vishal A Charegaonkar WebSphere Architect (Performance and Monitoring)

More information

Chapter 3: Operating-System Structures. Common System Components

Chapter 3: Operating-System Structures. Common System Components Chapter 3: Operating-System Structures System Components Operating System Services System Calls System Programs System Structure Virtual Machines System Design and Implementation System Generation 3.1

More information

A technical guide for monitoring Adobe LiveCycle ES deployments

A technical guide for monitoring Adobe LiveCycle ES deployments Technical Guide A technical guide for monitoring Adobe LiveCycle ES deployments Table of contents 1 Section 1: LiveCycle ES system monitoring 4 Section 2: Internal LiveCycle ES monitoring 5 Section 3:

More information

Can You Trust Your JVM Diagnostic Tools?

Can You Trust Your JVM Diagnostic Tools? Can You Trust Your JVM Diagnostic Tools? Isaac Sjoblom, Tim S. Snyder, and Elena Machkasova Computer Science Discipline University of Minnesota Morris Morris, MN 56267 sjobl014@umn.edu, snyde479@umn.edu,

More information

Cloud Operating Systems for Servers

Cloud Operating Systems for Servers Cloud Operating Systems for Servers Mike Day Distinguished Engineer, Virtualization and Linux August 20, 2014 mdday@us.ibm.com 1 What Makes a Good Cloud Operating System?! Consumes Few Resources! Fast

More information

Java (Micro) Performance Measuring

Java (Micro) Performance Measuring Java (Micro) Performance Measuring trendscope.com How to measure and test the performance of Java applications Java (Micro) Performance Measuring Thomas Uhrig Akt. Themen des Software-Engineerings 1 of

More information

PC Based Escape Analysis in the Java Virtual Machine

PC Based Escape Analysis in the Java Virtual Machine PC Based Escape Analysis in the Java Virtual Machine Manfred Jendrosch, Gerhard W. Dueck, Charlie Gracie, and AndréHinkenjann Abstract Current computer architectures are multi-threaded and make use of

More information

JVM Performance Study Comparing Oracle HotSpot and Azul Zing Using Apache Cassandra

JVM Performance Study Comparing Oracle HotSpot and Azul Zing Using Apache Cassandra JVM Performance Study Comparing Oracle HotSpot and Azul Zing Using Apache Cassandra January 2014 Legal Notices Apache Cassandra, Spark and Solr and their respective logos are trademarks or registered trademarks

More information

Java VM monitoring and the Health Center API. William Smith will.smith@uk.ibm.com

Java VM monitoring and the Health Center API. William Smith will.smith@uk.ibm.com Java VM monitoring and the Health Center API William Smith will.smith@uk.ibm.com Health Center overview What problem am I solving? What is my JVM doing? Is everything OK? Why is my application running

More information

Language Based Virtual Machines... or why speed matters. by Lars Bak, Google Inc

Language Based Virtual Machines... or why speed matters. by Lars Bak, Google Inc Language Based Virtual Machines... or why speed matters by Lars Bak, Google Inc Agenda Motivation for virtual machines HotSpot V8 Dart What I ve learned Background 25+ years optimizing implementations

More information

Interpreters and virtual machines. Interpreters. Interpreters. Why interpreters? Tree-based interpreters. Text-based interpreters

Interpreters and virtual machines. Interpreters. Interpreters. Why interpreters? Tree-based interpreters. Text-based interpreters Interpreters and virtual machines Michel Schinz 2007 03 23 Interpreters Interpreters Why interpreters? An interpreter is a program that executes another program, represented as some kind of data-structure.

More information

JBoss Data Grid Performance Study Comparing Java HotSpot to Azul Zing

JBoss Data Grid Performance Study Comparing Java HotSpot to Azul Zing JBoss Data Grid Performance Study Comparing Java HotSpot to Azul Zing January 2014 Legal Notices JBoss, Red Hat and their respective logos are trademarks or registered trademarks of Red Hat, Inc. Azul

More information

Cloud Computing. Up until now

Cloud Computing. Up until now Cloud Computing Lecture 11 Virtualization 2011-2012 Up until now Introduction. Definition of Cloud Computing Grid Computing Content Distribution Networks Map Reduce Cycle-Sharing 1 Process Virtual Machines

More information

Agenda. Tomcat Versions Troubleshooting management Tomcat Connectors HTTP Protocal and Performance Log Tuning JVM Tuning Load balancing Tomcat

Agenda. Tomcat Versions Troubleshooting management Tomcat Connectors HTTP Protocal and Performance Log Tuning JVM Tuning Load balancing Tomcat Agenda Tomcat Versions Troubleshooting management Tomcat Connectors HTTP Protocal and Performance Log Tuning JVM Tuning Load balancing Tomcat Tomcat Performance Tuning Tomcat Versions Application/System

More information

Java on z/os. Agenda. Java runtime environments on z/os. Java SDK 5 and 6. Java System Resource Integration. Java Backend Integration

Java on z/os. Agenda. Java runtime environments on z/os. Java SDK 5 and 6. Java System Resource Integration. Java Backend Integration Martina Schmidt martina.schmidt@de.ibm.com Agenda Java runtime environments on z/os Java SDK 5 and 6 Java System Resource Integration Java Backend Integration Java development for z/os 4 1 Java runtime

More information

Web Performance, Inc. Testing Services Sample Performance Analysis

Web Performance, Inc. Testing Services Sample Performance Analysis Web Performance, Inc. Testing Services Sample Performance Analysis Overview This document contains two performance analysis reports created for actual web testing clients, and are a good example of the

More information

Monitoring HP OO 10. Overview. Available Tools. HP OO Community Guides

Monitoring HP OO 10. Overview. Available Tools. HP OO Community Guides HP OO Community Guides Monitoring HP OO 10 This document describes the specifications of components we want to monitor, and the means to monitor them, in order to achieve effective monitoring of HP Operations

More information

Debug 101-Using ISA Tools for Apps in WebSphere Application Server z/os

Debug 101-Using ISA Tools for Apps in WebSphere Application Server z/os Debug 101-Using ISA Tools for Apps in WebSphere Application Server z/os Session 16509 Mike Stephen - msteff@us.ibm.com Joran Siu joransiu@ca.ibm.com IBM Insert Custom Session QR if Desired. Disclaimer

More information

Eclipse Visualization and Performance Monitoring

Eclipse Visualization and Performance Monitoring Eclipse Visualization and Performance Monitoring Chris Laffra IBM Ottawa Labs http://eclipsefaq.org/chris Chris Laffra Eclipse Visualization and Performance Monitoring Page 1 Roadmap Introduction Introspection

More information

Monitoring, Tracing, Debugging (Under Construction)

Monitoring, Tracing, Debugging (Under Construction) Monitoring, Tracing, Debugging (Under Construction) I was already tempted to drop this topic from my lecture on operating systems when I found Stephan Siemen's article "Top Speed" in Linux World 10/2003.

More information

A Comparative Study on Vega-HTTP & Popular Open-source Web-servers

A Comparative Study on Vega-HTTP & Popular Open-source Web-servers A Comparative Study on Vega-HTTP & Popular Open-source Web-servers Happiest People. Happiest Customers Contents Abstract... 3 Introduction... 3 Performance Comparison... 4 Architecture... 5 Diagram...

More information

.NET and J2EE Intro to Software Engineering

.NET and J2EE Intro to Software Engineering .NET and J2EE Intro to Software Engineering David Talby This Lecture.NET Platform The Framework CLR and C# J2EE Platform And Web Services Introduction to Software Engineering The Software Crisis Methodologies

More information

Enterprise Manager Performance Tips

Enterprise Manager Performance Tips Enterprise Manager Performance Tips + The tips below are related to common situations customers experience when their Enterprise Manager(s) are not performing consistent with performance goals. If you

More information

Performance Tuning for Oracle WebCenter Content 11g: Strategies & Tactics CHRIS ROTHWELL & PAUL HEUPEL FISHBOWL SOLUTIONS, INC.

Performance Tuning for Oracle WebCenter Content 11g: Strategies & Tactics CHRIS ROTHWELL & PAUL HEUPEL FISHBOWL SOLUTIONS, INC. Performance Tuning for Oracle WebCenter Content 11g: Strategies & Tactics CHRIS ROTHWELL & PAUL HEUPEL FISHBOWL SOLUTIONS, INC. i Fishbowl Solutions Notice The information contained in this document represents

More information

2015 ej-technologies GmbH. All rights reserved. JProfiler Manual

2015 ej-technologies GmbH. All rights reserved. JProfiler Manual 2015 ej-technologies GmbH. All rights reserved. JProfiler Manual Index JProfiler help... 8 How to order... 9 A Help topics... 10 A.1 Profiling... 10 A.1.1 Profiling modes... 10 A.1.2 Remote profiling...

More information

Fachbereich Informatik und Elektrotechnik SunSPOT. Ubiquitous Computing. Ubiquitous Computing, Helmut Dispert

Fachbereich Informatik und Elektrotechnik SunSPOT. Ubiquitous Computing. Ubiquitous Computing, Helmut Dispert Ubiquitous Computing Ubiquitous Computing The Sensor Network System Sun SPOT: The Sun Small Programmable Object Technology Technology-Based Wireless Sensor Networks a Java Platform for Developing Applications

More information

Understanding Java Garbage Collection

Understanding Java Garbage Collection TECHNOLOGY WHITE PAPER Understanding Java Garbage Collection And What You Can Do About It Table of Contents Executive Summary... 3 Introduction.... 4 Why Care About the Java Garbage Collector?.... 5 Classifying

More information

WebSphere Server Administration Course

WebSphere Server Administration Course WebSphere Server Administration Course Chapter 1. Java EE and WebSphere Overview Goals of Enterprise Applications What is Java? What is Java EE? The Java EE Specifications Role of Application Server What

More information

Performance Improvement In Java Application

Performance Improvement In Java Application Performance Improvement In Java Application Megha Fulfagar Accenture Delivery Center for Technology in India Accenture, its logo, and High Performance Delivered are trademarks of Accenture. Agenda Performance

More information

WEBLOGIC SERVER MANAGEMENT PACK ENTERPRISE EDITION

WEBLOGIC SERVER MANAGEMENT PACK ENTERPRISE EDITION WEBLOGIC SERVER MANAGEMENT PACK ENTERPRISE EDITION COMPLETE WEBLOGIC SERVER MANAGEMENT KEY FEATURES Manage multiple domains centrally Gain in-depth JVM diagnostics Trace transactions across multi-tier

More information

The Fundamentals of Tuning OpenJDK

The Fundamentals of Tuning OpenJDK The Fundamentals of Tuning OpenJDK OSCON 2013 Portland, OR Charlie Hunt Architect, Performance Engineering Salesforce.com sfdc_ppt_corp_template_01_01_2012.ppt In a Nutshell What you need to know about

More information

Java Virtual Machine Locks

Java Virtual Machine Locks Java Virtual Machine Locks SS 2008 Synchronized Gerald SCHARITZER (e0127228) 2008-05-27 Synchronized 1 / 13 Table of Contents 1 Scope...3 1.1 Constraints...3 1.2 In Scope...3 1.3 Out of Scope...3 2 Logical

More information

JBoss Cookbook: Secret Recipes. David Chia Senior TAM, JBoss May 5 th 2011

JBoss Cookbook: Secret Recipes. David Chia Senior TAM, JBoss May 5 th 2011 JBoss Cookbook: Secret Recipes David Chia Senior TAM, JBoss May 5 th 2011 Secret Recipes Byteman Cluster and Load Balancing Configuration Generator Troubleshooting High CPU Mocking a JBoss Hang State Byte

More information

Tomcat Tuning. Mark Thomas April 2009

Tomcat Tuning. Mark Thomas April 2009 Tomcat Tuning Mark Thomas April 2009 Who am I? Apache Tomcat committer Resolved 1,500+ Tomcat bugs Apache Tomcat PMC member Member of the Apache Software Foundation Member of the ASF security committee

More information

Virtual Machine Learning: Thinking Like a Computer Architect

Virtual Machine Learning: Thinking Like a Computer Architect Virtual Machine Learning: Thinking Like a Computer Architect Michael Hind IBM T.J. Watson Research Center March 21, 2005 CGO 05 Keynote 2005 IBM Corporation What is this talk about? Virtual Machines? 2

More information

Java Garbage Collection Characteristics and Tuning Guidelines for Apache Hadoop TeraSort Workload

Java Garbage Collection Characteristics and Tuning Guidelines for Apache Hadoop TeraSort Workload Java Garbage Collection Characteristics and Tuning Guidelines for Apache Hadoop TeraSort Workload Shrinivas Joshi, Software Performance Engineer Vasileios Liaskovitis, Performance Engineer 1. Introduction

More information

An Oracle White Paper July 2011. Oracle Primavera Contract Management, Business Intelligence Publisher Edition-Sizing Guide

An Oracle White Paper July 2011. Oracle Primavera Contract Management, Business Intelligence Publisher Edition-Sizing Guide Oracle Primavera Contract Management, Business Intelligence Publisher Edition-Sizing Guide An Oracle White Paper July 2011 1 Disclaimer The following is intended to outline our general product direction.

More information

Effective Java Programming. efficient software development

Effective Java Programming. efficient software development Effective Java Programming efficient software development Structure efficient software development what is efficiency? development process profiling during development what determines the performance of

More information

KillTest. http://www.killtest.cn 半 年 免 费 更 新 服 务

KillTest. http://www.killtest.cn 半 年 免 费 更 新 服 务 KillTest 质 量 更 高 服 务 更 好 学 习 资 料 http://www.killtest.cn 半 年 免 费 更 新 服 务 Exam : 1Z0-599 Title : Oracle WebLogic Server 12c Essentials Version : Demo 1 / 10 1.You deploy more than one application to the

More information

NetBeans Profiler is an

NetBeans Profiler is an NetBeans Profiler Exploring the NetBeans Profiler From Installation to a Practical Profiling Example* Gregg Sporar* NetBeans Profiler is an optional feature of the NetBeans IDE. It is a powerful tool that

More information

Introduction to Spark and Garbage Collection

Introduction to Spark and Garbage Collection Tuning Java Garbage Collection for Spark Applications May 28, 2015 by Daoyuan Wang and Jie Huang This is a guest post from our friends in the SSG STO Big Data Technology group at Intel. Join us at the

More information

Realtime Linux Kernel Features

Realtime Linux Kernel Features Realtime Linux Kernel Features Tim Burke, Red Hat, Director Emerging Technologies Special guest appearance, Ted Tso of IBM Realtime what does it mean to you? Agenda What? Terminology, Target capabilities

More information