How does JVM calculate the committed heap memory?











up vote
5
down vote

favorite
1












Based on the documentation : https://docs.oracle.com/javase/7/docs/api/java/lang/management/MemoryUsage.html



committed - represents the amount of memory (in bytes) that is guaranteed to be available for use by the Java virtual machine. The amount of committed memory may change over time (increase or decrease). The Java virtual machine may release memory to the system and committed could be less than init. committed will always be greater than or equal to used.



but the question is how JVM calculate the committed memory?










share|improve this question
























  • Closely related to stackoverflow.com/questions/41468670/…
    – Raedwald
    Nov 14 at 9:40










  • The strategy heavily relies on the JVM and the GC versions. Different versions give different strategies.
    – Sofo Gial
    Nov 14 at 9:41










  • Do you want to know how the JVM calculates the amount of memory that it requests from the OS or the amount that is currently comitted?
    – dpr
    Nov 14 at 9:42










  • @dpr, i am aware that amount of committed memory may change over time (increase or decrease). I want to know the basis of increase/decrease of committed memory.
    – Andrew
    Nov 14 at 10:27










  • @Andrew You can find some relevant info here: docs.oracle.com/javase/9/gctuning/…
    – Sofo Gial
    Nov 14 at 11:54















up vote
5
down vote

favorite
1












Based on the documentation : https://docs.oracle.com/javase/7/docs/api/java/lang/management/MemoryUsage.html



committed - represents the amount of memory (in bytes) that is guaranteed to be available for use by the Java virtual machine. The amount of committed memory may change over time (increase or decrease). The Java virtual machine may release memory to the system and committed could be less than init. committed will always be greater than or equal to used.



but the question is how JVM calculate the committed memory?










share|improve this question
























  • Closely related to stackoverflow.com/questions/41468670/…
    – Raedwald
    Nov 14 at 9:40










  • The strategy heavily relies on the JVM and the GC versions. Different versions give different strategies.
    – Sofo Gial
    Nov 14 at 9:41










  • Do you want to know how the JVM calculates the amount of memory that it requests from the OS or the amount that is currently comitted?
    – dpr
    Nov 14 at 9:42










  • @dpr, i am aware that amount of committed memory may change over time (increase or decrease). I want to know the basis of increase/decrease of committed memory.
    – Andrew
    Nov 14 at 10:27










  • @Andrew You can find some relevant info here: docs.oracle.com/javase/9/gctuning/…
    – Sofo Gial
    Nov 14 at 11:54













up vote
5
down vote

favorite
1









up vote
5
down vote

favorite
1






1





Based on the documentation : https://docs.oracle.com/javase/7/docs/api/java/lang/management/MemoryUsage.html



committed - represents the amount of memory (in bytes) that is guaranteed to be available for use by the Java virtual machine. The amount of committed memory may change over time (increase or decrease). The Java virtual machine may release memory to the system and committed could be less than init. committed will always be greater than or equal to used.



but the question is how JVM calculate the committed memory?










share|improve this question















Based on the documentation : https://docs.oracle.com/javase/7/docs/api/java/lang/management/MemoryUsage.html



committed - represents the amount of memory (in bytes) that is guaranteed to be available for use by the Java virtual machine. The amount of committed memory may change over time (increase or decrease). The Java virtual machine may release memory to the system and committed could be less than init. committed will always be greater than or equal to used.



but the question is how JVM calculate the committed memory?







java heap-memory






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 14 at 9:12









Sofo Gial

15813




15813










asked Nov 14 at 9:08









Andrew

55041025




55041025












  • Closely related to stackoverflow.com/questions/41468670/…
    – Raedwald
    Nov 14 at 9:40










  • The strategy heavily relies on the JVM and the GC versions. Different versions give different strategies.
    – Sofo Gial
    Nov 14 at 9:41










  • Do you want to know how the JVM calculates the amount of memory that it requests from the OS or the amount that is currently comitted?
    – dpr
    Nov 14 at 9:42










  • @dpr, i am aware that amount of committed memory may change over time (increase or decrease). I want to know the basis of increase/decrease of committed memory.
    – Andrew
    Nov 14 at 10:27










  • @Andrew You can find some relevant info here: docs.oracle.com/javase/9/gctuning/…
    – Sofo Gial
    Nov 14 at 11:54


















  • Closely related to stackoverflow.com/questions/41468670/…
    – Raedwald
    Nov 14 at 9:40










  • The strategy heavily relies on the JVM and the GC versions. Different versions give different strategies.
    – Sofo Gial
    Nov 14 at 9:41










  • Do you want to know how the JVM calculates the amount of memory that it requests from the OS or the amount that is currently comitted?
    – dpr
    Nov 14 at 9:42










  • @dpr, i am aware that amount of committed memory may change over time (increase or decrease). I want to know the basis of increase/decrease of committed memory.
    – Andrew
    Nov 14 at 10:27










  • @Andrew You can find some relevant info here: docs.oracle.com/javase/9/gctuning/…
    – Sofo Gial
    Nov 14 at 11:54
















Closely related to stackoverflow.com/questions/41468670/…
– Raedwald
Nov 14 at 9:40




Closely related to stackoverflow.com/questions/41468670/…
– Raedwald
Nov 14 at 9:40












The strategy heavily relies on the JVM and the GC versions. Different versions give different strategies.
– Sofo Gial
Nov 14 at 9:41




The strategy heavily relies on the JVM and the GC versions. Different versions give different strategies.
– Sofo Gial
Nov 14 at 9:41












Do you want to know how the JVM calculates the amount of memory that it requests from the OS or the amount that is currently comitted?
– dpr
Nov 14 at 9:42




Do you want to know how the JVM calculates the amount of memory that it requests from the OS or the amount that is currently comitted?
– dpr
Nov 14 at 9:42












@dpr, i am aware that amount of committed memory may change over time (increase or decrease). I want to know the basis of increase/decrease of committed memory.
– Andrew
Nov 14 at 10:27




@dpr, i am aware that amount of committed memory may change over time (increase or decrease). I want to know the basis of increase/decrease of committed memory.
– Andrew
Nov 14 at 10:27












@Andrew You can find some relevant info here: docs.oracle.com/javase/9/gctuning/…
– Sofo Gial
Nov 14 at 11:54




@Andrew You can find some relevant info here: docs.oracle.com/javase/9/gctuning/…
– Sofo Gial
Nov 14 at 11:54












1 Answer
1






active

oldest

votes

















up vote
1
down vote













Here you can find a little bit more detail, but it does not explain the exact way how committed heap space is increased:




There is also a committed heap size which acts as a "high water
mark", moving up once the JVM cannot free up space even on old
collection / young collection to make room. In this case, the
committed heap size is increased
. This cycle repeats until the
committed heap size matches the maximum heap size, the maximum space
allocatable.




https://support.mulesoft.com/s/article/Java-JVM-memory-allocation-pattern-explained






share|improve this answer





















    Your Answer






    StackExchange.ifUsing("editor", function () {
    StackExchange.using("externalEditor", function () {
    StackExchange.using("snippets", function () {
    StackExchange.snippets.init();
    });
    });
    }, "code-snippets");

    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "1"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53296481%2fhow-does-jvm-calculate-the-committed-heap-memory%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes








    up vote
    1
    down vote













    Here you can find a little bit more detail, but it does not explain the exact way how committed heap space is increased:




    There is also a committed heap size which acts as a "high water
    mark", moving up once the JVM cannot free up space even on old
    collection / young collection to make room. In this case, the
    committed heap size is increased
    . This cycle repeats until the
    committed heap size matches the maximum heap size, the maximum space
    allocatable.




    https://support.mulesoft.com/s/article/Java-JVM-memory-allocation-pattern-explained






    share|improve this answer

























      up vote
      1
      down vote













      Here you can find a little bit more detail, but it does not explain the exact way how committed heap space is increased:




      There is also a committed heap size which acts as a "high water
      mark", moving up once the JVM cannot free up space even on old
      collection / young collection to make room. In this case, the
      committed heap size is increased
      . This cycle repeats until the
      committed heap size matches the maximum heap size, the maximum space
      allocatable.




      https://support.mulesoft.com/s/article/Java-JVM-memory-allocation-pattern-explained






      share|improve this answer























        up vote
        1
        down vote










        up vote
        1
        down vote









        Here you can find a little bit more detail, but it does not explain the exact way how committed heap space is increased:




        There is also a committed heap size which acts as a "high water
        mark", moving up once the JVM cannot free up space even on old
        collection / young collection to make room. In this case, the
        committed heap size is increased
        . This cycle repeats until the
        committed heap size matches the maximum heap size, the maximum space
        allocatable.




        https://support.mulesoft.com/s/article/Java-JVM-memory-allocation-pattern-explained






        share|improve this answer












        Here you can find a little bit more detail, but it does not explain the exact way how committed heap space is increased:




        There is also a committed heap size which acts as a "high water
        mark", moving up once the JVM cannot free up space even on old
        collection / young collection to make room. In this case, the
        committed heap size is increased
        . This cycle repeats until the
        committed heap size matches the maximum heap size, the maximum space
        allocatable.




        https://support.mulesoft.com/s/article/Java-JVM-memory-allocation-pattern-explained







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Nov 14 at 12:38









        josmaf

        666




        666






























            draft saved

            draft discarded




















































            Thanks for contributing an answer to Stack Overflow!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.





            Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


            Please pay close attention to the following guidance:


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53296481%2fhow-does-jvm-calculate-the-committed-heap-memory%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            How to change which sound is reproduced for terminal bell?

            Title Spacing in Bjornstrup Chapter, Removing Chapter Number From Contents

            Can I use Tabulator js library in my java Spring + Thymeleaf project?