IBM have a very low
overhead monitoring tool solution to do the task. It is Java Health Center or
known as HC.
"Health Center is a
very low overhead monitoring tool. It runs alongside an IBM Java application
with a very small impact on the application’s performance. Health Center
monitors several application areas, using the information to provide
recommendations and analysis that help you improve the performance and
efficiency of your application. Health Center can save the data obtained from
monitoring an application and load it again for analysis at a later date."
Health Center provides
visibility, monitoring and profiling in the following application areas:
·
Performance
v
Java method profiling: The Health Center uses a
sampling method profiler to diagnose applications showing high CPU usage. It’s
low overhead which means there is no need to specify in advance which parts of
the application to monitor, the Health Center simply monitors everything. It
works without recompilation or byte code instrumentation and shows where the
application is spending its time, by giving full call stack information for all
sampled methods.
v
Lock analysis: Synchonization can be a
big performance bottleneck on multi-CPU systems. It is often difficult to
identify a hot lock or assess the impact locking is having on your application.
Health Center records all locking activity and identifies the objects with most
contention. Health Center analyses this information, and uses it to provide
guidance about whether synchronization is impacting performance
v
Garbage collection: The performance of
Garbage Collection (GC) affects the entire application. Tuning GC correctly can
potentially deliver significant performance gains. Health Center identifies
where garbage collection is causing performance problems and suggests more
appropriate command line options.
·
Memory usage
The Health Center will identify if your application is using more
memory than seems reasonable, or where memory leaks occur. It then suggests
solutions to memory issues, as well as Java heap sizing guidance.
·
System Environment
Health Center uses an ‘environment perspective’ to provide details
of the Java version, Java classpath, boot classpath, environment variables, and
system properties. This is particularly useful for identifying problems on
remote systems or systems where you do not control the configuration. If the
Health Center detects misconfigured applications, it will provide
recommendations on how to fix it.
·
Java Class loading
Health Center provides class loading information, showing exactly
when a class has been loaded and whether it is cached or not. This helps you
determine whether your application is being affected by excessive class
loading.
Video: Overview of
Health Center
Installing HC
Health Center is
installed as a plug-in for IBM Support Assistant (ISA), therefore, ISA must be
installed prior to obtaining the Java Health Center.
·
first download and install ISA (IBM support
assistant)
·
in the ISA menu, Update > Find New… >
Tools Add-ons ->Find new tools add-ons
·
Type health in the search box, then click the
arrow next to JVM-based Tools to show matching tools. Find for the Health
Center add-on
·
Select "IBM Monitoring and Diagnostic Tools
for Java – Health Center" from the list then click Next.
Complete the wizard by following the on-screen instructions. ISA will prompt
you to restart the Workbench – select Yes to restart.
·
Now, start the ISA
·
go to Analyze Problem and select Tools ->IBM
Monitoring and Diagnostic Tools for Java – Health Center –>launch
Your application must be
enabled for monitoring before Health Center can be connected. You must
install the Health Center Agent.
Installing Agent
·
In the health center tool, on the first screen
–> click Enabling an application for monitoring. This will show you the help
on how to setup the agents.
·
Now click on Install the Health Center Agent. It
shows you the list of available agents. Choose the appropriate agent to suite
your application server environment.
·
You must download and extract the agent package
into a specific directory of the JRE that you are using to start your application.
·
For monitoring WebSphere, the jre directory is
under WebSphere:
Websphere_Install_Root/java/jre
·
When extracted, you see a healthcenter.jar file
in the jre\lib\ext directory
Connecting HC and
websphere
To enable the Health
Center for use with WebSphere Application Server:
·
In the Administrative Console , select Application
servers> server_name > Process
Definition > Java Virtual Machine->
Generic JVM Arguments
For Java 5 SR9 and
earlier or Java 6 SR4 and earlier, add:
-agentlib:healthcenter -Xtrace:output=/tmp/perfmon.%p.out
For Java 5 SR10 and
later, or Java 6 SR5 and later, add:
-Xhealthcenter
·
Apply changes, save and restart JVM
·
Connect to the server from the Health Center
client. The default port number is 1972.
·
Complete the Health Center: Connection wizard to
start monitoring the enabled Java application
0 comments :
Post a Comment