c1, c2 compiler threads are created by Java virtual machine to optimize your application's performance. Occasionally these threads will tend to consume high CPU. In this post, let’s learn little more about c1, c2 compiler threads and how to address their high CPU consumption. After reading this post, terminologies like Hotspot JIT, c1 compiler threads,... Continue Reading →
“Learn yCrash” series
The industry has seen cutting-edge Application Performance Monitoring tools and infrastructure monitoring tools. These monitoring tools are great at answering the question: 'What is the problem?'' but not, Why does the problem happen? yCrash attempts to answer this question. It captures 360-degree artifacts from your technology stack such as Garbage collection logs, thread dumps, heap dumps,... Continue Reading →
Benefits of setting initial and maximum memory size to the same value
When we launch applications, we specify the initial memory size and maximum memory size. For the applications that run on JVM (Java Virtual Machine), initial and maximum memory size is specified through ‘-Xms’ and ‘-Xmx’ arguments. If Java applications are running on containers, it's specified through ‘-XX: InitialRAMPercentage’ and ‘-XX: MaxRAMPercentage’ arguments. Most enterprises set... Continue Reading →
Java UUID generation – Performance impact
Java developers tend to use 'java.util.UUID#randomUUID()' API, to generate a UUID (Universally Unique Identifier) number (i.e., 'b8bbcbed-ca07-490c-8711-5118ee0af2f9'). Under certain circumstances, using this API can affect your application’s availability. Let’s discuss this API in this post with a real-world example. How does 'java.util.UUID#randomUUID()' API works? java.util.UUID#randomUUID() API internally uses 'entropy' in the operating system to generate... Continue Reading →
16 artifacts to capture when there is a production problem -Montreal 2022
ConFoo Montreal is a multi-technology conference for developers. Our Architect Ram Lakshmanan has been invited there to present on the topic "16 artifacts to capture when there is a production problem", which has secured 5th place among 155 sessions. Production problems are tricky to troubleshoot if proper diagnostic information isn’t captured. In this session, 16... Continue Reading →
Major Outages in Major Enterprises
JAX – Online conference is the meeting place for all Java and software architecture enthusiasts! This year also, they have conducted an online conference to exchange knowledge and ideas from speakers all over the world. They have invited our architect to conduct a webinar on the topic “Major Outages in Major Enterprises”. In this session, we... Continue Reading →
JVM Internals in 1 slide
JAX - Online conference is the meeting place for all the Java and software architecture enthusiasts! This year also, they have conducted the online conference to exchange the knowledge and ideas from the speakers all over the world. They have invited our architect to conduct a webinar on the topic "JVM Internals in 1 slide".... Continue Reading →
Accelerating Incident Response To Production Outages – Webinar
Lexington soft training academy conducted a webinar on the topic "Accelerating Incident Response To Production Outages of Enterprise JVM Applications" In this webinar, following topics were discussed Production outages that happened in major enterprises in their JVM applications.Analyzing the actual thread dumps, heap dumps, GC logs, and other artifacts captured at the time of the... Continue Reading →
Video Blog: 7 JVM Arguments of Highly effective applications
You can pass 600+ arguments to JVM just around Garbage collection and memory. It’s way too many arguments for anyone to digest and comprehend. In all these 4 videos, 7 important JVM arguments that will boost your Java/Scala/Jython application performances are shared. Videos Part 1 Part – 1 explains the below arguments. The maximum heap... Continue Reading →
Best practices: Java memory arguments for Containers
When you are running your Java application in physical servers, you would have been using '-Xmx' JVM argument to specify the Java heap size. If you are porting your application to Containers, you might be wondering how to configure Java heap size in the container’s world? Are there any best practices? In this article, we... Continue Reading →