Home » JVM » Page 23

Tag Archives: JVM

IBM JVM tuning – gencon GC policy

This article will provide you detail on an important Java Heap space tuning consideration when migrating from a Java VM such as HotSpot or JRockit to the IBM JVM. This tuning recommendation is based on a recent troubleshooting and tuning mandate I performed for one of my IT clients. IBM JVM overview As you probably saw from my other articles, ...

Read More »

JRockit jrcmd tutorial

This article will provide you an overview and tutorial on how you can perform an initial analysis and problem isolation of a JRockit Java Heap problem using the jrcmd tool. A deeper analysis and tutorial using JRockit Mission Control and Heap Dump analysis (JRockit version R28+ only) will be covered in future articles. For a quick overview of the JRockit ...

Read More »

Java Heap Space – JRockit and IBM VM

This article will provide you with an overview of the JRockit Java Heap Space vs. the HotSpot VM. It will also provide you some background on Oracle future plans regarding JRockit & HotSpot. Oracle JRockit VM Java Heap: 2 different memory spaces  -The Java Heap (YoungGen and OldGen)  -The Native memory space (Classes pool, C-Heap, Threads…) Where is the PermGen ...

Read More »

JVM: How to analyze Thread Dump

This article will teach you how to analyze a JVM Thread Dump and pinpoint the root cause of your problem(s). From my perspective, Thread Dump analysis is the most important skillset to master for any individual involved in Java EE production support. The amount of information that you can derive from Thread Dump snapshots is often much beyond than what ...

Read More »

Patching Java at runtime

This article will slightly highlight how to fix issues with third party libs that can’t be circumvented are difficult to exclude/bypass/replaced simply provide no bugfix In such cases solving the issue remains a challengig task. As a motivation for this scenario consider the attacks on “hash indexed” data structures, such as java.util.Hashtable and java.util.HashMap (for those who are not familar ...

Read More »

What is behind System.nanoTime()?

In java world there is a very good perception about System.nanoTime(). There is always some guys who says that it is fast, reliable and, whenever possible, should be used for timings instead of System.currentTimemillis(). In overall he is absolutely lying, it is not bad at all, but there are some drawback which developer should be aware about. Also, although they ...

Read More »

Practical Garbage Collection, part 1 – Introduction

This is the first part of a series of blog posts I intend to write, whose aim will be to explain how garbage collection works in the real world (in particular, with the JVM). I will cover some theory that I believe is necessary to understand garbage collection enough for practical purposes, but will keep it to a minimum. The ...

Read More »

Debugging the JVM

In some (rare) cases you might find yourself in the situation that you managed to crash the JVM itself. I most recently managed this by setting the name of a ThreadGroup to null. In these cases it is useful to debug the JVM itself so that the crash can be located more precisely. Here are the steps to do it ...

Read More »

JVM options: -client vs -server

Have you ever wonder what is this -client or -server switch when you run your java app? e.g.: javaw.exe -client com.blogspot.sdoulger.LoopTest that are also displayed in the Help of the java.exe e.g. where options include: -client to select the “client” VM -server to select the “server” VM What’s the difference between the -client and -server systems? These two systems are ...

Read More »