LRUS_MIN MAX DOES NOT WORK
Posted in 2016
A user on IDS 11.70.C5 complained that LRU flushing never kicked in: dirty pages kept growing until the checkpoint, and onstat -F showed all 8 cleaners idle. Responders first spotted that LRU_MIN_DIRTY (20) and LRU_MAX_DIRTY (10) were reversed — min must be lower than max. After swapping them, the user still saw no cleaning, and the explanation given was a misreading of onstat -R: the thresholds apply per LRU queue, not to the total. With 400,000 buffers and 20 queues (20,000 each), flushing only starts when an individual queue hits 4,000 dirty pages (i.e. roughly 80,000 dirty buffers overall), so 4,000 dirty pages in total is far too few to trigger LRU writes. No further confirmation from the original poster is recorded.
Auto-generated by DrWatson from the posts below — may be imperfect; read the full thread.
Topics: Logging & Checkpoints
Hi, I have Informix 11.70 C5, in order to avoid long checkpoints, I change LRU
MIN AND MAX DIRTY BUT IT SEEMS NOT WORKING MY DRITY PAGES CONTINUE TO GROW AND
NO FLUSHING IS HAPPENING.
LRU_MIN_DIRTY : 20.00 and LRU_MAX_DIRTY to 10.00
Onstat -R it show : that it should empty at 4000 but dirty page growth and
pass this level and nothing happen
BUFFERPOOL : 400000
LRUS: 20
CLEANERS : 8onstat -F show all cleaners are instate "I"
plz could you tell me what's hapening and why this does not work?
Original post:
Hi, I have Informix 11.70 C5, in order to avoid long checkpoints, I change LRU
MIN AND MAX DIRTY BUT IT SEEMS NOT WORKING MY DRITY PAGES CONTINUE TO GROW AND
NO FLUSHING IS HAPPENING.
LRU_MIN_DIRTY : 20.00 and LRU_MAX_DIRTY to 10.00
Onstat -R it show : that it should empty at 4000 but dirty page growth and
pass this level and nothing happen
BUFFERPOOL : 400000
LRUS: 20
CLEANERS : 8onstat -F show all cleaners are instate "I"
plz could you tell me what's hapening and why this does not work?
Response:
LRU_MIN_DIRTY should be < LRU_MAX_DIRTY, as that's what tells the cleaners to
stop. If you really have MIN_DIRTY set to 20, that's > your MAX_DIRTY, which
maybe is why the cleaners aren't cleaning?
Jacques Renaut
IBM Informix Advanced Support
APD Team
Looks like you have the LRU_MIN_DIRTY and LRU_MAX_DIRTY the wrong way
around.
The MIN should be a lower value than the MAX.
-----Original Message-----
From: ids-bounces@iiug.org [mailto:ids-bounces@iiug.org] On Behalf Of
CHALLENGER212 ABDERRAFI
Sent: Thursday, May 19, 2016 12:30 AM
To: ids@iiug.org
Subject: LRUS_MIN MAX DOES NOT WORK [37168]
Hi, I have Informix 11.70 C5, in order to avoid long checkpoints, I change
LRU MIN AND MAX DIRTY BUT IT SEEMS NOT WORKING MY DRITY PAGES CONTINUE TO
GROW AND NO FLUSHING IS HAPPENING.
LRU_MIN_DIRTY : 20.00 and LRU_MAX_DIRTY to 10.00 Onstat -R it show : that it
should empty at 4000 but dirty page growth and pass this level and nothing
happen
BUFFERPOOL : 400000
LRUS: 20
CLEANERS : 8onstat -F show all cleaners are instate "I"
plz could you tell me what's hapening and why this does not work?
****************************************************************************
***
Forum Note: Use "Reply" to post a response in the discussion forum.
lru_min_dirty should be less than lru_max_dirty
If you have 400,000 buffers and 20 LRU queues then each queue should have
20,000 buffers. If you meant to have lru_min_dirty = 10.0 and lru_max_dirty
= 20.0 then LRU flushing would begin on a LRU queue when 4000 buffers are
dirty and stop flushing when only 2000 buffers in the LRU queue are dirty.
Andrew
-----Original Message-----
From: ids-bounces@iiug.org [mailto:ids-bounces@iiug.org] On Behalf Of
CHALLENGER212 ABDERRAFI
Sent: Thursday, May 19, 2016 1:30 AM
To: ids@iiug.org
Subject: LRUS_MIN MAX DOES NOT WORK [37168]
Hi, I have Informix 11.70 C5, in order to avoid long checkpoints, I change
LRU MIN AND MAX DIRTY BUT IT SEEMS NOT WORKING MY DRITY PAGES CONTINUE TO
GROW AND NO FLUSHING IS HAPPENING.
LRU_MIN_DIRTY : 20.00 and LRU_MAX_DIRTY to 10.00 Onstat -R it show : that it
should empty at 4000 but dirty page growth and pass this level and nothing
happen
BUFFERPOOL : 400000
LRUS: 20
CLEANERS : 8onstat -F show all cleaners are instate "I"
plz could you tell me what's hapening and why this does not work?
****************************************************************************
***
Forum Note: Use "Reply" to post a response in the discussion forum.
Hi, yes I permut the values, but I tape onstat R, I see that dirty page (the
first info in the bottom) goes over 4000 and did not been decreased, and it
grow till atteing the checkpoint interval, I think Cleaner does not work.
Please post the end of "onstat -R" output, at a point that you are expecting
to writing to be happening.
If you are still modifying data, then the number of dirty pages may continue
to increase faster than they are being cleaned, but one of more of the
cleaners should show that they are not idle at that point.
-----Original Message-----
From: ids-bounces@iiug.org [mailto:ids-bounces@iiug.org] On Behalf Of
CHALLENGER212 ABDERRAFI
Sent: Thursday, May 19, 2016 2:55 PM
To: ids@iiug.org
Subject: Re: RE: LRUS_MIN MAX DOES NOT WORK [37173]
Hi, yes I permut the values, but I tape onstat R, I see that dirty page (the
first info in the bottom) goes over 4000 and did not been decreased, and it
grow till atteing the checkpoint interval, I think Cleaner does not work.
****************************************************************************
***
Forum Note: Use "Reply" to post a response in the discussion forum.
When dirty buffer is over 4000 (resulut of onstat -R), I check onstat -F and I
found that my 8 cleaners are in state "I".
Does onstat -F show any LRU Writes, or does it look like this:
Fg Writes LRU Writes Chunk Writes
0 0 1458
Assuming 400,000 buffers, 20 LRU queues, lru_min_dirty 10% and lru_max_dirty
20%...
For 400,000 buffers you won't likely see any LRU flushing until you have
about 80,000 dirty buffers total (seen in the summary output at the end of
onstat -R).
Each of your 20 LRU queues will hold 20,000 pages and when an individual LRU
queue reaches 4000 dirty buffers (20% dirty) you will see LRU flushing
activity on that specific LRU queue until it reaches 2000 dirty buffers (10%
dirty).
If you're seeing 4000 dirty pages total in onstat -R then each of your LRU
queues probably has only 200 dirty pages and are only 1% dirty. This might
be why you're not seeing any LRU flushing.
Andrew
-----Original Message-----
From: ids-bounces@iiug.org [mailto:ids-bounces@iiug.org] On Behalf Of
CHALLENGER212 ABDERRAFI
Sent: Thursday, May 19, 2016 4:27 PM
To: ids@iiug.org
Subject: Re: RE: RE: LRUS_MIN MAX DOES NOT WORK [37175]
When dirty buffer is over 4000 (resulut of onstat -R), I check onstat -F and
I found that my 8 cleaners are in state "I".
****************************************************************************
***
Forum Note: Use "Reply" to post a response in the discussion forum.
When dirty buffer is over 4000 (resulut of onstat -R),
This statement does not mean much to me, as I am not clear on
what you are referencing. As onstat -R really shows the modified
and clean side of the lru queues, not really dirty.
The only time it reference dirty buffers is in aggregation, not on
individual chains.
Just to be clear and exact.
If the number of dirty buffers is above 4000, this will NOT trigger any
cleaning.
BUFFERPOOL : 400000
LRUS: 20
CLEANERS : 8
LRU=5FMAX=5FDIRTY : 20.00 <<< assumes this is fixed >>>
LRU=5FMIN=5FDIRTY to 10.00
400,000 / 20 =3D 20,000
20,000 * .20 =3D 4,000 for a specific chain (not in aggregation)
John F. Miller III
STSM, Lead Architect
miller3@us.ibm.com
503-747-1366
IBM Informix Dynamic Server (IDS)
ids-bounces@iiug.org wrote on 05/19/2016 02:27:05 PM:
> From: "CHALLENGER212 ABDERRAFI" <abderrafi212@gmail.com>
> To: ids@iiug.org
> Date: 05/19/2016 02:28 PM
> Subject: Re: RE: RE: LRUS=5FMIN MAX DOES NOT WORK [37175]
> Sent by: ids-bounces@iiug.org
>
> When dirty buffer is over 4000 (resulut of onstat -R), I check
> onstat -F and I> found that my 8 cleaners are in state "I".
>
>
>
***************************************************************************=
****
> Forum Note: Use "Reply" to post a response in the discussion forum.
>