title: JVM heap parameters
body: <p>After reading already asked question on the subject and a lot of googling I am still not able to have a clear view of <strong>-Xms</strong> option</p>
  
  <p>My question is: what's the difference between <code>java -Xms=512m -Xmx=512m</code> and <code>java -Xms=64m -Xmx=512m</code>?</p>
  
  <p>For now I have the following answer:</p>
  
  <p>The only difference is in the number of garbage collections that will be run during my application's run and the number of memory allocations. Am I right ?</p>
  
  <p>Here are my reasons for this answer:</p>
  
  <p>Setting the <code>-Xms</code> option to <code>512m</code> doesn't result in my application using really <code>512M</code> of physical memory after startup. I guess this is related to modern OS virtual memory management and lazy pages allocations. (I noticed that setting <code>-Xms</code> to <code>512M</code> or to <code>64M</code> doesn't change at all the initial used memory reported either by top on Linux or by the task manager on windows)</p>
  
  <p>Can someone help me to understand the impact of this <code>Xms</code> option or point me to links that will help me to understand it?</p>
  
  <p>Thanks in advance</p>
  
  <p>Manu</p>