title: Jenkins heap space
body: <p>I'm running Jenkins on Windows 2016 server with the following defenitions in jenkins.xml:  </p>
  
  <pre><code>-Xrs -Xmx2G -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar "%BASE%\jenkins.war" --httpPort=8080 --webroot="%BASE%\war"
  </code></pre>
  
  <p>But the problem that we get an error:  </p>
  
  <pre><code>exception while collecting data: java.lang.OutOfMemoryError: Java heap space java.lang.OutOfMemoryError: Java heap space  
  </code></pre>
  
  <p>and the server stuck.<br>
  After monitorung the master, we have seen that java heap is 512 and not 2G. How can it be? 
  From the Master monitor screen:  </p>
  
  <pre><code>OS: OS Windows NT (unknown), , x86/32 (4 cores)
  Java:   Java(TM) SE Runtime Environment, 1.8.0_66-b18
  JVM:    Java HotSpot(TM) Client VM, 25.66-b18, mixed mode   The server mode has much better performance than the client mode, you should consider using the server mode if your are not in development
  PID of process: 7960
  Server: Server jetty/9.2.z-SNAPSHOT
  Webapp context: 
  Start:  11/28/17 2:15 PM
  JVM arguments:  -Xrs
  -Xmx2G
  -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle
  -Xmx512M
  Mean age of http sessions (min):    6
  Memory: Non heap memory = 83 Mb (Perm Gen, Code Cache),
  Buffered memory = 0 Mb,
  Loaded classes = 22,254,
  Garbage collection time = 6,007 ms,
  Process cpu time = 156,718 ms,
  Committed virtual memory = 438 Mb,
  Free physical memory = 13,245 Mb,
  Total physical memory = 16,383 Mb,
  Free swap space = 16,199 Mb,
  Total swap space = 19,327 Mb
  </code></pre>