[Glass] Why leave Admin GcGem and Reclaim GcGem running at all time?

Mariano Martinez Peck via Glass glass at lists.gemtalksystems.com
Fri Jun 19 15:47:35 PDT 2015


On Fri, Jun 19, 2015 at 7:34 PM, James Foster <
james.foster at gemtalksystems.com> wrote:

> Hi Mariano,
>
> The repository-wide GC process is somewhat complex. In addition to the Sys
> Admin guide, I recommend videos 19-22 in
> https://programminggems.wordpress.com/2010/02/05/scaling-objects-videos/.
>
> In any case, the Reclaim GcGem is needed at all times (as opposed to the
> Admin GcGem). One interesting characteristic of GemStone is that objects
> are NEVER modified in place. When you modify an object the new version of
> the object is written to a new page and the object table associated with
> that commit points to the new page while the object table associated with
> earlier commits point to the old page. This is what allows transaction
> consistency and repeatable reads (an important attribute of any database
> system).
>
> This design means that you can end up with the same object existing on
> many pages in the repository (each a different version associated with a
> different transaction). One of the last stages in the transaction
> processing happens when a particular view of the database (associated with
> a commit record) is no longer visible to any session. At that point the old
> versions of committed objects ("shadowed objects”) are taking up space on
> “shadowed” pages, and this space is essentially wasted. Note, however, that
> there may be other objects on these pages that are still visible.
>
> One of the tasks of the Reclaim GcGem is to take the live objects from
> shadowed pages and copy them onto new pages (without the shadowed objects).
> This temporarily increases the number of pages in use (since the same
> objects are on two pages), but eventually the shadowed page can be
> reclaimed. For this reason it is important to keep the Reclaim GcGem
> running all the time; otherwise your repository will fill with shadowed
> objects that waste space. It seems that leaving the Admin GcGem running
> should be fine as well.
>
> Does that help?
>
>
Thanks James, crystal clear!!!

I was just trying to see how I can minimize the memory consume while the
stone/gems are not being too much used.

Thanks,

James Foster
> Director of Operations
> GemTalk Systems LLC
> +1 503 766 4714 (voice & fax)
> James.Foster at GemTalkSystems.com
>
> On Jun 19, 2015, at 3:15 PM, Mariano Martinez Peck via Glass <
> glass at lists.gemtalksystems.com> wrote:
>
>   Hi guys,
>
> I am reading the sys admin manual and it says:
>
>    -
>
>    We recommend that you leave the Admin GcGem running at all times,
>    although this GcGem is required only following a markForCollection or
>    markGcCandidatesFromFile:, or epoch garbage collection operation.
>    (Subsequent sections of this chapter describe these operations in detail.)
>    If the Admin GcGem is not running following one of these operations, the
>    garbage collection process cannot complete, and garbage can build up in
>    your system.
>     -
>
>    We recommend that you have at least one Reclaim GcGem running at all
>    times, to reclaim shadow objects.
>
>
>
> Why do you recommend running both at all time if they only happen to be
> needed for MFC and #reclaimAll? (if I do not use epoch GC, of course)
> In other words...what are the drawbacks if I only start/stop them as part
> of my GC scripts?
>
> Thanks in advance,
>
> --
> Mariano
> http://marianopeck.wordpress.com
>  _______________________________________________
> Glass mailing list
> Glass at lists.gemtalksystems.com
> http://lists.gemtalksystems.com/mailman/listinfo/glass
>
>
>


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


More information about the Glass mailing list