<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Feb 5, 2014 at 8:43 AM, Duncan Grisby <span dir="ltr">&lt;<a href="mailto:duncan@grisby.org" target="_blank">duncan@grisby.org</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div class="im"><br></div>Looking at the resident size of the process doesn&#39;t tell you a huge<br>

amount. You don&#39;t know how the kernel and C library are interacting to<br>
share memory management responsibility. You should use valgrind:<br>
<br>
  valgrind --tool=memcheck --leak-check=full myServerCommand<br>
<br>
That will tell you if it&#39;s really leaking memory.</blockquote><div><br></div><div>Unless you do some additional instrumentation in your software (see <a href="http://stackoverflow.com/questions/5591837/get-leaks-between-two-points-using-valgrind">http://stackoverflow.com/questions/5591837/get-leaks-between-two-points-using-valgrind</a> ), it won&#39;t tell you about any &quot;creeping bloat&quot; (or &quot;temporary leakage&quot;?) that is eventually cleaned up by any static destructors/atexit() routines (assuming, I guess, that omniORB internally makes use of such things).  I suggested to Jason that he could use &quot;VIRT&quot; in the top output to track memory growth.</div>
<div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">Don&#39;t worry about<br>
warnings from valgrind about omniORB transmitting uninitialised memory<br>
-- that&#39;s just GIOP padding bytes that don&#39;t need to be initialised.<br>
<div class="im"><br></div></blockquote><div> </div><div>Speaking of which, is there any reason omniORB doesn&#39;t do a memset on those from the get-go?  Is there a significant performance penalty? It&#39;s always a bit jarring to look at valgrind output and see the uninitialized memory warnings -- then follow the stack to see that it&#39;s just omniORB.</div>
<div><br></div><div><br></div><div>Jeff</div><div><br></div></div></div></div>