Hi Eric,

Sorry for my late response, somehow missed your mail. Just to update I
managed to fix the issue, it was related to GC. We were using
unciron's oob_gc to control gc execution. Although we had correct
configuration for oob_gc but somehow it was not allowing GC to run. I
checked GC stat and found that major & minor GC count is consistent
over the time. I removed oob_gc and now using gctools gem. With
gctools gem master memory is consistent to ~400MB.

Thanks a lot for your help.

Regards,
Sumit

On Thu, Apr 19, 2018 at 8:15 AM, Eric Wong <e...@80x24.org> wrote:
> Hleb: remember to reply-all, we will never require subscription
> to post to this list, so it's likely sumit never saw it.
>
> Hleb Valoshka <375...@gmail.com> wrote:
>> I believe it's hard to say something without your unicorn configuration file.
>
> sumit: what Hleb asked...
>
> I suspect "preload_app true" in your config is loading something
> in your app which is using up your memory.  Sometimes there's
> monitoring threads which might fill a queue up or something.
>
> Anything in error logs?  Failing that, strace (on Linux) might
> tell you what's going on at the error level.
>
> But yeah, the master process shouldn't be doing anything besides
> listening to signals and respawning failed workers.
>
> If you want to check if there's monitoring threads on Linux
> systems with /proc mounted, you can see how many threads the
> master has:
>
>         ls /proc/$PID_OF_MASTER/task/
>
> There should be two entries for Ruby 1.9-2.5(*), one being the
> master PID and one for the timer-thread.  If you have more,
> then that's probably some thread doing stuff in the
> background...
>
> (*) _maybe_ we can get rid of timer-thread for 2.6...



-- 
Thanks & Regards
Sumit Nagariya

Reply via email to