This article answers following queries :
• Explain memory management of Java Virtual Machine(JVM) in SAP
• Explain JVM memory areas in SAP
• Explain Young generation, Tenured generation and Permanent Generations
• How to maintain JVM parameters in SAP?
• Which tool is used to configure Java VM settings in SAP?
• How JVM automatically takes care of memory allocation?
• Explain Used memory, Allocated memory, Virtual memory
----------------------------------------------------------------------------------
The JVM automatically takes care of allocation of memory space for java applications.
A “generation” reserves space in the address area of the host.
While starting sap system, the java virtual machine allocates operating system memory for each of the generations. This initially allocated memory is termed as “initial” or “initial size”. After complete usage of initial size, the java virtual machine further allocates memory in stages upto a maximum defined value termed as “max size”.
The memory space that is available is called the available memory or allocated memory. Since this space is reserved by the operating system, it is also called as “reserved space”. The space that is not reserved is called as “virtual memory”.
The “ reserved space” is available to the JVM. However, not all the memory is used always. It will be used based on the requirement. The memory that is actually used by the java applications is termed as “used memory”. If less space is required by the java application, the memory is returned to the operating system in stages.
The memory area of JVM is mainly divided into 3 areas as listed below
• Young generation
• Tenured generation
• Permanent generation
The 3 memory areas Young, Tenured and Permanent differ based on the data stored in them. Each of these generations has an initial and maximum size.
Young Generation : The objects that have been newly created by the applications are stored in the younger generation.
For younger generation, we can define initial size and maximum size with the parameters -XX:NewSize and –XX:MaxNewSize respectively
Tenured Generation: The objects that have been required for a longer period of time by an application are automatically moved to the tenured generation
For tenured generation, we cannot directly set initial size and maximum size directly. These are calculated from the parameters of the younger generation and the parameters –Xms and –Xmx.
The parameter –Xms is the “start heap size” or “initial heap size” and it defines the total initial size of the young and tenured generations.
The parameter -Xmx is the “max heap size” and it defines the total size of the young and tenured generations.
So indirectly, it means that
Initial size of tenured generation = (-Xms) - (-XX:NewSize)
Maximum size of tenured generation = (-Xmx) – (–XX:MaxNewSize)
Permanent Generation : The objects that are permanently required by the JVM such as classes and objects are stored in the Permanent Generation.
For permanent generation, we can define initial size and maximum size with the parameters –XX:PermSize and –XX:MaxPermSize respectively
Config Tool is the only tool used to set JVM parameters in an SAP java system.
11 comments:
Why there is no recent updates in the blog??
After may we are able to see only one blog....
Hi Deepak..Thanks for your concern. Was bit occupied in last couple of months. Will try to spend more time on blog.
Wow Its Nice Article. Thanks For Sharing
Thanks for the sharing best information.
Excellent piece of knowledge, I had come back to read concerning your web site from my friend shiva, bangalore. I have readed atleast eight posts of your website and let me tell you, your website provides the most fascinating information. This is the knowledge that I had been craving for, I am already your rss reader currently and that I would frequently be careful for the new posts. Thanks plenty another time
Have you ever considered adding more videos to your blog posts to keep the readers more entertained? I mean I just read through the entire article of yours and it was quite good but since Im more of a visual learner,I found that to be more helpful well let me know how it turns out! I love what you guys are always up too. Such clever work and reporting! Keep up the great works guys Ive added you guys to my blogroll. This is a great article thanks for sharing this informative information.. I will visit your blog regularly for some latest post.
Hi there,I enjoy reading through your article post, I wanted to write a little comment to support you and wish you a good continuationAll the best for all your blogging efforts. Appreciate the recommendation! Let me try it out. Keep working ,great job!
--- Sirisha siri
This is a great article thanks for sharing this informative information..
Thank you for sharing such a nice article with us, I was little confused in Java Virtual Memory in SAP, but after reading this article it helps me a lot to understand. --- John Wilson
durga you well talented person.thanks for sharing your thouts to us.
Very good blog Durga...very simple and easy to understand
Post a Comment