In a previous blog post , we discussed the importance of frame pointers and how they impact your ability to do performance tuning and other diagnostics. In addition to the theory and impacts of frame pointers, we covered the important news that Fedora -- the basis of Red Hat Enterprise Linux --...
As people move towards container platforms such as Kubernetes and Red Hat OpenShift, a useful intermediate step is to run containers in virtual machines. This allows for testing containers in existing environments by replacing existing processes or running side-by-side. In addition to testing...
It seems like a simple question: how much memory (RAM) is "free" on Linux? On the one hand, there's a simple answer: Linux aggressively uses free RAM for various caches that, generally, can be quickly freed when programs need more memory, and therefore you should look at the "available"...
In a previous post , we discussed the general value of getting operating system core dumps on Linux to investigate Java crashes and other diagnostics. In a subsequent post , we discussed general best practices for gathering Linux core dumps by used a piped kernel core pattern. In this post,...
One of the commonly used components is the JDBC Connection Pool. This critical component provides access to the database through a pool of established connections that can be used by the application. Why use a connection pool? Each connection from the application to the database is an...
This blog post is about applications that, by design, maintain and keep some level of session data associated with their users. The reality of session data is that one has to plan on session data failover. If the application process is taken down for maintenance or due to some other runtime...
PhantomReferences are a way for a Java application to perform post-mortem cleanup (using fields in a subclass of PhantomReference rather than the referent) as opposed to finalizers that are pre-mortem. Java 9 added Cleaner which is an easier way to work with PhantomReferences. As with...
In general, it has become an industry best practice to set the Linux core pattern to a piped core dump processing program. The most common modern such programs are |/usr/lib/systemd/systemd-coredump and |/usr/share/apport/apport . Conversely, in general, it has become an industry ...
We have launched a new set of WebSphere Liberty on OpenShift labs titled App Runtimes OpenShift Day 2 Labs : https://ibm.github.io/AppRuntimesOpenShiftDay2Labs/ The purpose of the labs is to demonstrate common day 2 operations for WebSphere Liberty running on OpenShift (and other Kubernetes...
Core dumps are requested to be produced when a process crashes or when an IBM Java or IBM Semeru Runtimes process runs out of Java heap space ( OutOfMemoryError ). These are critical diagnostic artifacts that help determine the cause of the problem through tools such as the Memory Analyzer Tool...