Received: from makus.postgresql.org (makus.postgresql.org [98.129.198.125]) by mail.postgresql.org (Postfix) with ESMTP id CB0E4C83CAF for ; Tue, 10 Jul 2012 10:41:34 -0300 (ADT) Received: from moutng.kundenserver.de ([212.227.17.10]) by makus.postgresql.org with esmtp (Exim 4.72) (envelope-from ) id 1Soah3-0006wJ-AL for pgsql-performance@postgresql.org; Tue, 10 Jul 2012 13:41:34 +0000 Received: from awork2.localnet (p5DDC7065.dip.t-dialin.net [93.220.112.101]) by mrelayeu.kundenserver.de (node=mreu2) with ESMTP (Nemesis) id 0MUAFy-1SOmKb3jBS-00R7Mt; Tue, 10 Jul 2012 15:41:20 +0200 From: Andres Freund Organization: 2ndquadrant.com To: Jeff Janes Subject: Re: Massive I/O spikes during checkpoint Date: Tue, 10 Jul 2012 15:41:18 +0200 User-Agent: KMail/1.13.7 (Linux/3.4.0-andres; KDE/4.8.4; x86_64; ; ) Cc: pgsql-performance@postgresql.org, Maxim Boguk , David Kerr References: <27C32FD4-0142-44FE-8488-9F366DC75966@mr-paradox.net> <201207101444.14887.andres@2ndquadrant.com> In-Reply-To: MIME-Version: 1.0 Content-Type: Text/Plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <201207101541.18492.andres@2ndquadrant.com> X-Provags-ID: V02:K0:OQFBakWwbeu+biNrBbRj7RsFFC+AQM64xHDJjcG8zNC 7dIHTUbm7hraDQZFTZ6bKlgiDj08qbU1SBpeGe88yZ6xsCUP7g 2X5pY3ZG38/YQ/Xcc+HyUVR0FKBeg3VpTRF2eu2WydXUMqY3LE P4pUYaxiAaa2O2dV0PCEe30rxnlxqSXVxq3iQWimdt8M5I8xcr aBFLdjBetJCkIIEDtw4m3qM4VShmfFHRzPbuBDv5jVITKq4X7z hmT5+WTLXLE8zSO1uEcZBiTO1FrWFkTkpKN3ymv0mB2fwt4TDs 9FcZK6btjTskauuLbhzazWVqFHgX+4Pk2lfuqrPADeKbrzmWnl Uczd2mWJ8n3/o5+Q7kKDvPbZ8apeOW+ZJB3t7N551 X-Pg-Spam-Score: -1.9 (-) X-Archive-Number: 201207/121 X-Sequence-Number: 47302 On Tuesday, July 10, 2012 03:36:35 PM Jeff Janes wrote: > On Tue, Jul 10, 2012 at 5:44 AM, Andres Freund wrote: > > On Tuesday, July 10, 2012 08:14:00 AM Maxim Boguk wrote: > >> So kernel doesn't start write any pages out in background before it has > >> at least 13Gb dirty pages in kernel memory. > >> And at end of the checkpoint kernel trying flush all dirty pages to > >> disk. > > > > Thast not entirely true. The kernel will also writeout pages which > > haven't been written to for dirty_expire_centisecs. > > There seems to be many situations in which it totally fails to do that. Totally as in diry pages sitting around without any io activity? Or just not agressive enough? Currently its a bit hard to speculate about all without specifying the kernel because there have been massive rewrites of all that stuff in several kernels in the last two years... Andres -- Andres Freund http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services