AWS Cloud watch + yCrash = Monitoring + RCA

On October 11, 2021, GCeasy experienced an outage due to HTTP 504 errors when customers uploaded logs, traced to a new code deployment on October 9. Monitoring revealed increased CPU and database connections. A root cause analysis using yCrash identified an inefficient SQL query, leading to timeouts. Removing the query restored functionality.

Performance impact of java.lang.System.getProperty()

The 'java.lang.System.getProperty()' API is used to retrieve system properties in Java applications. However, its synchronized nature can lead to performance issues, especially if called in critical code paths, causing threads to become BLOCKED. Solutions include upgrading to JDK 11 or caching properties to enhance performance.

OutOfMemoryError: Kill process or sacrifice child – causes & solutions

The 'Kill Process or sacrifice child' OutOfMemoryError occurs when memory usage exceeds available RAM, prompting the OS to terminate certain processes. A simulation using an AWS EC2 instance demonstrated this error, where a Java application and a chaotic BuggyApp exceeded memory limits. Potential solutions include increasing RAM, reducing processes, and optimizing memory use.

JAX 2021 – MAJOR OUTAGES IN MAJOR ENTERPRISES!

The JAX online conference gathers Java and software architecture enthusiasts globally to share knowledge. This year, an architect will present a webinar on "Major Outages in Major Enterprises," analyzing thread dumps, heap dumps, and other artifacts. The session aims to enhance troubleshooting skills for various enterprise issues.

JAX 2021 – JVM INTERNALS IN 1 SLIDE!

JAX - Online conference brings together Java and software architecture enthusiasts globally. This year featured a webinar by an architect on "JVM Internals in 1 slide," covering JVM fundamentals concisely. Participants learned about program execution, troubleshooting, and JVM optimization, enhancing their understanding of underlying system mechanics.

Video Blog: 7 JVM Arguments of Highly effective applications

The content discusses the complexity of JVM arguments related to Garbage collection and memory, highlighting seven key arguments that enhance the performance of Java, Scala, and Jython applications. Four videos cover topics like maximum heap size, thread stack size, garbage collection methods, and timeout settings, along with OutOfMemoryError handling.

How to Find Your Java Application Process ID (PID)?

This post explains how to quickly find the Java application process ID on Linux and Windows. For Linux, the command "ps -ef | grep java" displays running Java processes and their IDs. On Windows, the "jps" tool shows running Java processes, albeit with limited argument visibility compared to the Linux method.

How Java program executed? – Heap, threads, stack, GC

The content discusses the intricacies of Java program execution, including object creation regions, garbage collection eligibility, thread storage, and the distinctions between Stack and Heap memory. It encourages viewers to watch a video for a deeper understanding of these concepts.

Java threads – may not be memory efficient?

The study reveals that Java threads, regardless of their active or dormant states, consume equivalent memory upon creation. Testing with two programs demonstrated that both empty and full stack frame threads allocated the same memory. Developers are advised to minimize thread creation and optimize stack sizes to reduce memory waste.