Over a million developers have joined DZone.

DevOps' Role in Troubleshooting JVM Issues

DZone's Guide to

DevOps' Role in Troubleshooting JVM Issues

· DevOps Zone
Free Resource

In response to accelerated release cycles, a new set of testing capabilities is now required to deliver quality at speed. This is why there is a shake-up in the testing tools landscape—and a new leader has emerged in the just released Gartner Magic Quadrant for Software Test Automation.

In this article, would like to share how a DevOps team can engage themselves proactively in analyzing the Java Applications.The running Java Applications can be profiled using appropriate tool to determine the memory consumption/usage of application along with observing the top most consumers of memory/CPU.

The DevOps team (with JVM skills) can employ appropriate JVM diagnostics tool on the production environment and collect necessary logs pro-actively for analysis,This proactive analysis can result in avoiding potential multiple issues varying from OutOfMemory error to Poor Performance due to JVM.

Behavior of Java Applications can be monitored on production environment using appropriate tools,however it is a good practice to avoid the occurrence of issue instead of encountering it and rectifying it.In this regard,the memory snapshots of running applications(on production environment) can be gathered at frequent intervals for conducting deep analysis.Once the analysis is published, along with the top consumers of memory (or top CPU consumers) the owning Development team can be engaged for further analysis on the issues.

Developers might overlook the memory consumption of Java collections.If there are Java Applications that instantiate the collection but never ever  use  it in application life cycle,then this might result in memory leak gradually and result in OutOfMemory error. The memory consumption can spike up over the time due to unused collections and result in memory leak.These kind of scenarios can be detected at the earlier stages and rectified proactively.

The major benefits of conducting pro-active analysis on Java Application with respect to JVM, can be to avoid facing the catastrophic conditions due to JVM.However, we(DevOps team) can play vital role in post-mortem analysis/debugging of JVM issue for narrowing down the problematic area.

Adopting appropriate JVM diagnostics tool in our environment, had helped in narrowing down the poor performance issue and engaging the appropriate team for deeper analysis.

Recently published Gartner Magic Quadrant Report for Software Test Automation provides an objective benchmark of all test automation solutions based on industry surveys, customer inquiries, product evaluations, and more. 


Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}