TOOL DATA SHEET Azul Inspector Java Environment Checker For All Java Applications SYSTEM REQUIREMENTS • JDK 1.6 or 1.7 Azul Inspector is a Java program designed to collect information about a target Java application and its server environment. Azul Inspector is a free tool originally developed by Azul Systems to check that the local environment meets the system requirements for • Memory 128MB the Zing™ JVM. Zing is a fully Java-compatible JVM based on Oracle’s HotSpot and the • Disk 1MB only JVM that can support very large heaps with pauseless operation. • Tool location either on the server or remote Developers, IT and performance engineers can use Azul Inspector to quickly determine the JDK version in use, maximum heap size setting and the values of a variety of other setup variables. MODES Azul Inspector has two main modes, Qualification and Monitoring. The tool can take just a snapshot of data or continue to collect it at a specific interval. S U P P O R T E D TA R G E T S Y S T E M S • Any JDK Qualification mode is a snapshot of data that can be used to determine if the server is compatible with the Zing JVM. This mode collects system level data about any Java • RHEL, CentOS, SLES, Ubuntu application or JVM running on the server. The output contains the configuration settings • Hypervisor: ESX, KVM, Xen to quickly set up the Zing JVM to run using the same parameters as the existing JVM. • Amazon Cloud Monitoring mode is data collected at specified intervals during testing to validate tuning settings and identify potential causes of poor scalability and performance or response time jitter. In Monitoring mode Azul Inspector collects and tags data for all Zing runtimes (and, as an option, all other JVMs) to identify trends and for graphing in Microsoft Excel.® INFORMATION COLLECTED IN MONITORING MODE •Runtime JVM metrics that describe the environment for the JVM •Management beans for third-party software configuration and performance •Linux resource utilization for the JVM, including CPU, network, file and memory metrics – If available, garbage collection metrics for the running JVM •Hypervisor (ESX, KVM or Xen) metrics if authorized INSPECTOR TOOL DATA SHEET OUTPUT AND USAGE USING WITH jHICCUP The output of Azul Inspector can be used to tune the Zing Azul Inspector is also complementary to the jHiccup open JVM, application and environment to reduce latency and source performance measurement tool. jHiccup is used remove the causes of inconsistent response times. In to find hiccups or variations in application response time. many ways the application and JVM are “victims” of their Azul Inspector gathers information about the JVM, Operat- environment. Both can run only as fast as they can get ing System and application environment to help identify access to resources or data from the Host System. These factors that may have contributed to the hiccup. Together underlying performance issues often are hidden by long the two tools are very useful for lowering maximum latency garbage collection pauses. Once Zing eliminates these and eliminating the sources of response time variation. pauses, other issues can be identified using Azul Inspector and addressed. Monitoring mode also has several param- INSTALLING AND RUNNING eters that can be set to achieve different purposes. Simply download and unzip the file, then run ‘runMe.sh’ •Latency mode Runs Azul Inspector from a desktop. This to operate in Qualification mode. For Monitoring mode, reduces the Heisenberg effect for high performance or you need only replace one parameter in the script. very low latency applications and collects Linux schedul- See the ReadMe file for more details. ing data for the JVM at high frequency. •Trend or TrendLocal mode Collects metrics on CPU and GET AZUL INSPECTOR JVM memory use to identify whether jitter is due to JVM Free download on the web: garbage collection or some other event. www.azulsystems.com/azul_inspector •Watch Watches existing management beans, for example Email us and request a copy: the Average Processing Time mbeans often used by info@azulsystems.com Tomcat or a caching system. Or call: +1 650.230.6500 Azul Inspector’s post-processing provides a framework for tracking specific metric counts and correlating them to observed application events. Below are some example output graphs. 100 70 90 60 80 50 70 TCP DB‐SQL 60 LDAP 50 DB‐Orders 40 Socket 40 Pipe 30 LOG Backend 30 8080 Data 20 20 SO 10 10 0 0 1 2 3 4 5 6 7 8 9 10 11 12 Tracking TCP port usage to the database during a load test 1 2 3 4 5 6 7 8 9 35 0 16000000 30 30 14000000 16000 14000 12000 12000000 10000 10000000 20 20 8000 8000000 Server 1 Server 2 (x000) Series1 Series2 15 15 6000 6000000 10 10 4000 4000000 55 1173 Borregas Avenue Sunnyvale, CA 94089 USA T + 1.650.230.6500 F + 1.650.230.6600 www.azulsystems.com/azul_inspector 2000 2000000 00 01 0 0 11 12 File handles by type, used to check for handle leaks and that file reuse is consistent with the design 25 25 Contact Azul Systems: 10 5 9 13 17 21 25 29 33 37 41 45 49 53 57 61 65 69 73 77 81 85 89 93 97 101 105 109 113 117 121 125 129 133 137 141 145 149 153 157 161 165 169 173 177 181 185 189 193 197 201 205 209 213 217 221 225 229 233 237 241 245 249 253 20 40 60 80100120140160180200220240 Correlating Linux memory growth to establish root cause Copyright © 2013 Azul Systems, Inc. 1173 Borregas Avenue, Sunnyvale, CA 94089-1306 All rights reserved. “Azul Systems”, “Zing”, and the Azul logo are trademarks of Azul Systems Inc. Java is a trademark of Oracle Corporation in the United States and other countries. Other marks are the property of their respective owners and are used here only for identification purposes. Products and specifications discussed in this document may reflect future versions and are subject to change without notice. 0 16000 35 16000000 30 14000000 25 12000000 14000 30 12000 25 10000 Series 1 10000000 20 20 8000 8000000 15 Series1 Series2 15 6000 6000000 10 4000 10 4000000 5 2000 5 2000000 0 0 0 20 40 60 80100120140160180200220240 0 0 1 5 9 13 17 21 25 29 33 37 41 45 49 53 57 61 65 69 73 77 81 85 89 93 97 101 105 109 113 117 121 125 129 133 137 141 145 149 153 157 161 165 169 173 177 181 185 189 193 197 201 205 209 213 217 221 225 229 233 237 241 245 249 253 Series 2 (x000)