Article:
  Scaling Enterprise Java on 64-bit Multi-Core X86-Based Servers
Subject:   Your information on defaults seems outdated
Date:   2006-11-02 09:50:57
From:   austinmills
As of J2SE 5.0, the default max heap is no longer 64M. For server class machines (as according to http://java.sun.com/j2se/1.5.0/docs/guide/vm/server-class.html ), which the 64-bit server would be, the VM would by default be the server VM and the heap boundaries would be (excerpted from http://java.sun.com/j2se/1.5.0/docs/guide/vm/gc-ergonomics.html ):


initial heap size: Larger of 1/64th of the machine's physical memory on the machine or some reasonable minimum.


maximum heap size: Smaller of 1/4th of the physical memory or 1GB.


So, it's not perfect, but it's a lot more reasonable than the pre-5.0 days.


I agree that it's better to just statically define the min and max to the same number -- I personally haven't seen it result in VM crashes, but I have seen noticable pauses due to allocating additional heap.

Main Topics Oldest First

Showing messages 1 through 1 of 1.

  • Your information on defaults seems outdated
    2006-11-03 20:55:06  Michael Juntao Yuan | O'Reilly Author [View]

    austinmills,

    Thanks for the correction. I should really update the text if I can ... :) But even the 1/4 physical RAM limit is way too low for a server that is primarily used as a Java app server. So, I guess my primary argument (i.e., not to use the default memory setting) still stands. :)