title: Maximum Java heap size of a 32-bit JVM on a 64-bit OS
body: <p>The question is not about the maximum heap size on a 32-bit OS, given that 32-bit OSes have a maximum addressable memory size of 4GB, and that the JVM's max heap size depends on how much contiguous free memory can be reserved.</p>
  
  <p>I'm more interested in knowing the maximum (both theoretical and practically achievable) heap size for a 32-bit JVM running in a 64-bit OS. Basically, I'm looking at answers similar to <a href="https://stackoverflow.com/questions/987219/max-amount-of-memory-per-java-process-in-windows/987576#987576">the figures in a related question on SO</a>.</p>
  
  <p>As to why a 32-bit JVM is used instead of a 64-bit one, the reason is not technical but rather administrative/bureaucratic - it is probably too late to install a 64-bit JVM in the production environment.</p>