<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"><<a href="mailto:duncan@grisby.org" target="_blank">duncan@grisby.org</a>></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't tell you a huge<br>
amount. You don'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'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't tell you about any "creeping bloat" (or "temporary leakage"?) 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 "VIRT" 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't worry about<br>
warnings from valgrind about omniORB transmitting uninitialised memory<br>
-- that's just GIOP padding bytes that don't need to be initialised.<br>
<div class="im"><br></div></blockquote><div> </div><div>Speaking of which, is there any reason omniORB doesn't do a memset on those from the get-go? Is there a significant performance penalty? It's always a bit jarring to look at valgrind output and see the uninitialized memory warnings -- then follow the stack to see that it's just omniORB.</div>
<div><br></div><div><br></div><div>Jeff</div><div><br></div></div></div></div>