Over a million developers have joined DZone.

DevOps' Role in Troubleshooting JVM Issues

· DevOps Zone

Download “The DevOps Journey - From Waterfall to Continuous Delivery” to learn learn about the importance of integrating automated testing into the DevOps workflow, brought to you in partnership with Sauce Labs.

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.

Discover how to optimize your DevOps workflows with our cloud-based automated testing infrastructure, brought to you in partnership with Sauce Labs


Opinions expressed by DZone contributors are their own.

The best of DZone straight to your inbox.

Please provide a valid email address.

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.

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

{{ parent.tldr }}

{{ parent.urlSource.name }}