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)