<div dir="ltr">On Tue, Aug 20, 2013 at 1:10 PM, Kevin Falcone <span dir="ltr"><<a href="mailto:falcone@bestpractical.com" target="_blank">falcone@bestpractical.com</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote">
<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=""><div class="h5">On Mon, Aug 19, 2013 at 01:02:35PM -0400, Andrew Cobaugh wrote:<br>

>    Is there no clean way around memory leaks in RT when using mod_fastcgi short of HUPing the<br>
>    individual rt-server.fcgi processes when they reach a certain size?<br>
>    Running 4.0.13 right now. With a load balancer in front hitting a simple html page located at<br>
>    /rt/NoAuth/LoadBalancer.html every couple of seconds, we see memory usage increase ~100MB per<br>
>    process with 5 rt-server processes over the course of about 12 hours.<br>
>    Is there any simple way to track down why memory is increasing so much?<br>
<br>
<br>
</div></div>Is that 100M with no other rt services running but the request for<br>
Loadbalancer.html or are you mixing testing requests in with<br>
production RT requests?<br></blockquote><div><br></div><div style>That was just LoadBalancer.html. No other page hits.</div><div style> </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">

rt-server.fcgi processes will grow as large as is needed to process<br>
the current task, so if RT sends a huge email or processes a huge<br>
attachment, I would expect individual processes to grow.<br>
<br>
Your perl build can also affect the size of child processes.<br></blockquote><div><br></div><div style>We're actually using rpmbuild+shipwright to create packaged, redistributable RPMs containing everything necessary to run RT.</div>
<div style><br></div><div style>You can find the package we're using here:  <a href="http://yum.ait.psu.edu/ait/rhel/6/base/x86_64/rt413-vessel-opt-4.0.13-1.el6.ait.x86_64.rpm">http://yum.ait.psu.edu/ait/rhel/6/base/x86_64/rt413-vessel-opt-4.0.13-1.el6.ait.x86_64.rpm</a></div>
<div style><br></div><div style>We are currently using 5.14.1, and here's the output of perl -V,  <a href="http://pastebin.com/LC73KMzA">http://pastebin.com/LC73KMzA</a></div><div style><br></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">

You can try attaching something like<br>
<a href="http://search.cpan.org/~timb/Devel-SizeMe-0.16/" target="_blank">http://search.cpan.org/~timb/Devel-SizeMe-0.16/</a><br>
to a single rt-server.fcgi child and seeing what changes between<br>
requests.  Simple repeatable actions that cause consistent growth is<br>
the easiest way to solve something like this.  I'm used to seeing 70M<br>
stable fcgi processes.<br></blockquote><div><br></div><div style>I started playing around with Devel::Gladiator a little bit, but started getting into unfamiliar territory rather quickly. I'll take a look at Devel::SizeMe.</div>
<div style><br></div><div style> --andy</div></div></div></div>