Back

Explore Courses Blog Tutorials Interview Questions
0 votes
1 view
in Big Data Hadoop & Spark by (11.4k points)

I am monitoring a spark executor JVM of a OutOfMemoryException. I used Jconsole to connect to executor JVM. Following is the snapshot of Jconsole: enter image description here

In the image used memory is shown as 3.8G and committed memory is 8.6G and Max memory is also 8.6G Could anyone explain the difference between Used and Committed Memory or any link which explains it.

1 Answer

0 votes
by (32.3k points)

Used memory(jvm.memory.used): It is the current amount of memory in use.

Unit: Bytes

Committed memory(jvm.memory.committed): It is the amount of memory that is guaranteed to be available for use by the Java virtual machine. The amount of committed memory can easily change over time. The Java virtual machine may release memory to the system and committed memory could be less than initial memory. Committed memory will always be greater than or equal to the used memory.

Unit: Bytes

Max memory(jvm.memory.max): It is stated as the maximum amount of memory that can be used for memory management. You may observe that many a times its value is undefined. The maximum amount of memory may change over time if defined. In every case where max memory is defined, the amount of used and committed memory will always be less than or equal to max.

Unit: Bytes


 

MEMORY POOL(figure):

        +----------------------------------------------+

        +////////////////           | +

        +////////////////           | +

        +----------------------------------------------+

        |--------|

           init

        |---------------|

               used

        |---------------------------|

                  committed

        |----------------------------------------------|

                            max

If you want to learn more about Big Data, visit Big Data Tutorial and Big Data Certification by Intellipaat.

Browse Categories

...