[Glass] RcIdentityBag holding deleted objects via instVar "components"?

Mariano Martinez Peck via Glass glass at lists.gemtalksystems.com
Wed Aug 26 07:26:09 PDT 2015


On Wed, Aug 26, 2015 at 11:16 AM, itlists at schrievkrom.de via Glass <
glass at lists.gemtalksystems.com> wrote:

> Am 26.08.2015 um 15:23 schrieb Mariano Martinez Peck:
>
> >
> > Hi Marten,
> >
> > Are you aware of the rest of the classic clean up code? (monticello
> > cache, some globals, object log, etc, etc)
> >
> > Some general related questions:
> >
> > 1) how many gems are you running with zinc server?
>
>  Around 10 gems in our first production system - but that may change.
> All our REST calls are put into categories named: "normal", "memory" and
> "long".
>
>  We have around 6 "normal" GEMs, 2 "memory" GEMs and 2 "long" GEMs.
>
>  Scheduling is done via Apache2
>

That make sense. I also have normal gems for seaside and "service gems" for
background heavy jobs.


>
> > 2) what are the values of SHR_PAGE_CACHE_SIZE_KB and the
> > real GEM_TEMPOBJ_CACHE_SIZE those gems get?
>
>  That depends on the classification of "normal", "memory" and "long" and
> might change ...
>


Well, SHR_PAGE_CACHE_SIZE_KB should be always the same. I guess you simply
change GEM_TEMPOBJ_CACHE_SIZE for those 3 type of gems, correct? If so,
would you mind telling me all those 4 values?



>
> > 3) what is the value of GEM_TEMPOBJ_POMGEN_PRUNE_ON_VOTE ?
>
>  nothing done with that :-)))
>


So...search the mailing list for this, there is a recent discussion with
me. You may want to set that to 100% (even more if you do not plan to
re-cycle gems periodically)



>
> > 4) You said you were doing nothing about GC right? So you need to start
> > running MFC periodically
>
>  Yes, I've build in this right now ... after reading it here ...
>


OK, let me know if you want me to share my cleanup code (which involves all
this).



>
> and optionally a #reclaimAll in order to clean
> > your repository. Are you doing this?
>
> I thought, that this done by the admingcgem, reclaimgcgem and symbolgem
> tasks.
>


No. Those gems ARE needed for the reclaim and MFC to work, but MFC NEVER
happens automatically. You MUST explicitly do a MFC in order to get garbage
collected. How frequent depends on the type of application. But you MUST
run it always your extent will grow forever.
You may also want to read about the epoch gc in the admin guide.


>
> > 5) Do you recycle gems periodically? That is, the gems running the Zinc
> > servers, do they go down and up again periodically?
>
>  Not now .. have to think about how to do it ...
>

It is not a MANDATORY step, but it may help a bit in the cleaning,
depending on the app.


BTW.... I also found that Gemstone by default does NOT enable native code
generation (JIT). I do enable it in all my gems and the difference in
performance is huge. So you may want to enable if you don't have it ;)
(GEM_NATIVE_CODE_ENABLED=TRUE)

Cheers,


Mariano
http://marianopeck.wordpress.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.gemtalksystems.com/mailman/private/glass/attachments/20150826/35d52f6d/attachment-0001.html>


More information about the Glass mailing list