<?xml version="1.0"?>
<rss version="2.0">
<channel>

  
<title>Coding the Architecture - Is VM size an architectural smell?</title>
<link>http://www.codingthearchitecture.com/2012/05/16/is_vm_size_an_architectural_smell.html</link>
<description> A couple of months ago I went to an excellent set of talks at LJC night at QCon. This not only inspired my entry on staleness but also made me think about some more architectural smells.  Gil Tene from Azul spoke about the maximum size of VMs we all use. ...</description>
<language>en</language>
<managingEditor>Robert Annett</managingEditor>
<lastBuildDate>Fri, 06 Jul 2012 20:35:00 GMT</lastBuildDate>
  
  

  <generator>Pebble (http://pebble.sourceforge.net)</generator>
  <docs>http://backend.userland.com/rss</docs>
  
  
  <item>
    <title>@James Roper: need to 24GB -&gt; 512MB: isn&#039;t this a JVM issue?</title>
    <link>http://www.codingthearchitecture.com/2012/05/16/is_vm_size_an_architectural_smell.html#comment1341606900596</link>
    <description>
      &amp;gt;&amp;gt; James said: I once inherited a service that had a &#034;memory leak&#034;, and had to be restarted every day. So, I looked at the maximum heap size, it was 24GB. I changed it to 512MB, and the problem went away. The memory leak was that the JVM was never garbage collecting, but rather just increasing its heap size until the OS refused, and then it threw out of memory errors.
&lt;br /&gt;
&lt;br /&gt;
To me, this looks more of a JVM design (or coding) issue. Why not subscribe to the OS notification that the memory is low, and do a collection then? Even if low-memory notification is not supported, then do a collection before returning the OOM condition to the app.
&lt;br /&gt;There is enough information for the VM to do the right thing, and not require human intervention.
    </description>
    <author>Daniel D.C.</author>
    <comments>http://www.codingthearchitecture.com/2012/05/16/is_vm_size_an_architectural_smell.html#comments</comments>
    <guid isPermaLink="true">http://www.codingthearchitecture.com/2012/05/16/is_vm_size_an_architectural_smell.html#comment1341606900596</guid>
    <pubDate>Fri, 06 Jul 2012 20:35:00 GMT</pubDate>
  </item>
  
  <item>
    <title>Re: Is VM size an architectural smell?</title>
    <link>http://www.codingthearchitecture.com/2012/05/16/is_vm_size_an_architectural_smell.html#comment1341049963779</link>
    <description>
      The heap size may be a faint whiff. However, if there&#039;s a problem it&#039;ll most likely stink the place up in the form of genuine impact to your system&#039;s behaviour. 
&lt;p&gt;
Sensible metric capture, even simple GC logging, will typically show issues fairly readily. They will also continue to demonstrate whether all is well for the lifetime of your software. 
&lt;p&gt;
A similar smell, in my experience, is setting GC parameters at all (logging aside). A reasonably well designed and written app will typically be pretty amenable to GC ergonomics. YMMV, but I&#039;ve seen these properties used most often in an attempt to keep a struggling JVM on its feet. 
    </description>
    <author>Kevin Seal</author>
    <comments>http://www.codingthearchitecture.com/2012/05/16/is_vm_size_an_architectural_smell.html#comments</comments>
    <guid isPermaLink="true">http://www.codingthearchitecture.com/2012/05/16/is_vm_size_an_architectural_smell.html#comment1341049963779</guid>
    <pubDate>Sat, 30 Jun 2012 09:52:43 GMT</pubDate>
  </item>
  
  <item>
    <title>Is VM size an architectural smell?</title>
    <link>http://www.codingthearchitecture.com/2012/05/16/is_vm_size_an_architectural_smell.html#comment1337290312253</link>
    <description>
      No. Is insufficient info.
    </description>
    <author>ArtEze</author>
    <comments>http://www.codingthearchitecture.com/2012/05/16/is_vm_size_an_architectural_smell.html#comments</comments>
    <guid isPermaLink="true">http://www.codingthearchitecture.com/2012/05/16/is_vm_size_an_architectural_smell.html#comment1337290312253</guid>
    <pubDate>Thu, 17 May 2012 21:31:52 GMT</pubDate>
  </item>
  
  </channel>
</rss>
