Cleaners
Posted in 1999
Topics: Storage & Space Management, Logging & Checkpoints
Please forgive me if this is posted twice
-----------------
Online 7.24UC3
Solaris 2.5.1
Given that Cleaners are assigned to chunks in the order that the chunks
are created (and I don't know the order) how can I determine which cleaner
from onstat -F) is assined to which chunk?
I figure from onstat -d, chk 1 is the first chunk created, chk 2 the second
and so forth. So cleaner 1 is assinged to chunk 1, cleaner 2 to the second
chunk ...etc.
But how are cleaners assigned to the mirrored chunks?
My root dbspace is mirrored.
From the output of onstat -d , I see that the primary chunk is numbered
chk/1 and so is the mirrored chunk. Does that mean the first page cleaner
is assigned to Both Chunks?
I have a situation where a single flusher is slower then molasses during a
checkpoint and I need to find out which disk is the culprit.
Many Thanks, Steve Faehn
Stephen Faehn wrote:
>
> Please forgive me if this is posted twice
> -----------------
> Online 7.24UC3
> Solaris 2.5.1
>
> Given that Cleaners are assigned to chunks in the order that the chunks
> are created (and I don't know the order) how can I determine which cleaner
> from onstat -F) is assined to which chunk?
>
> I figure from onstat -d, chk 1 is the first chunk created, chk 2 the second
> and so forth. So cleaner 1 is assinged to chunk 1, cleaner 2 to the second
> chunk ...etc.
>
> But how are cleaners assigned to the mirrored chunks?
> My root dbspace is mirrored.
> From the output of onstat -d , I see that the primary chunk is numbered
> chk/1 and so is the mirrored chunk. Does that mean the first page cleaner
> is assigned to Both Chunks?
> I have a situation where a single flusher is slower then molasses during a
> checkpoint and I need to find out which disk is the culprit.
> Many Thanks, Steve Faehn
Cleaners are assigned not to clean a chunk, during a checkpoint, but to
flush all of the dirty pages that the checkpoint thread has gathered
from the various LRUS that all belong to a single chunk. As to which
cleaner thread is assigned it depends on which one us free at the time
a particular chunk is being launched. Better to get some OS level
disk/controller monitoring tools and see where the bottleneck is. You
can get a rough idea where to look first by clearing stats (onstat -z)
shortly before a scheduled checkpoint then run onstat -d and/or onstat
-g iof shortly after the checkpoint completes (or if long even while it
is running) to see which disks are being hit and which queues are have
long queue lengths.
If I had to guess I'd look for an older drive with less cache or a
slower spindle that the rest.
Art S. Kagel