What is Total Created Bytes?
How to minimize Object creation rate?
In which region intern strings are stored?
intern() is an interesting function in java.lang.String object. intern() function eliminates duplicate string objects from the application and has potential to reduce overall memory consumption of your application. To understand how string intern() function works you may refer to this interesting blog. Intern strings are stored in a string pool in the JVM memory. JVM... 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 →
Detect proactively whether application’s memory is under-allocated
When the application's memory is under-allocated, it will result in the following side-effects: a. Transactions response time will degrade b. CPU consumption will spike up c. OutOfMemoryError will be thrown Only when OutOfMemoryError is thrown, most of us start to look at our application's memory settings. This is like only when a patient goes to... Continue Reading →
Garbage Collection Patterns to predict outages
As the author of GCeasy - Garbage collection log analysis tool, I get to see few interesting Garbage Collection Patterns again & again. Based on the Garbage collection pattern, you can detect the health and performance characteristics of the application instantly. In this post, let me share few interesting Garbage collection patterns that have intrigued... Continue Reading →
“I don’t have to worry about Garbage collection” – Is it true?
I have heard a few of my developer friends say: “Garbage Collection is automatic. So, I do not have to worry about it.“ The first part is true, i.e., “Garbage Collection is automatic” on all modern platforms – Java, .NET, Golang, Python… But the second part i.e., “I don’t have to worry about it.” – may... Continue Reading →
Java threads – may not be memory efficient?
Java applications tend to contain hundreds (sometimes thousands) of threads. The majority of these threads are in WAITING, TIMED_WAITING (i.e., dormant) state, while only a small portion of the threads are actively executing lines of code. So, we were curious to know whether dormant threads consume less memory than active threads. To figure out an... 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 →