Re: checkpoint and recovering process use too much memory

From: Andres Freund <andres(at)anarazel(dot)de>
To: tao tony <tonytao0505(at)outlook(dot)com>
Cc: "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org>
Subject: Re: checkpoint and recovering process use too much memory
Date: 2017-11-03 02:35:55
Message-ID: 20171103023555.iz7da6wgfxiy6axr@alap3.anarazel.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi,

On 2017-11-03 01:43:32 +0000, tao tony wrote:
> I had an asynchronous steaming replication HA cluster.Each node had 64G memory.pg is 9.6.2 and deployed on centos 6.
>
>
> Last month the database was killed by OS kernel for OOM,the checkpoint process was killed.
>
>
> I noticed checkpoint process occupied memory for more than 20GB,and it was growing everyday.In the hot-standby node,the recovering process occupied memory as big as checkpoint process.
>
>
> I turned the checkpoint parameters,but it didn't worked.
>
> Now In the standby node,checkpoint and recovering process used more then 50GB memory as below,and I worried someday the cluster would be killed by OS again.
>
> PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
> 167158 postgres 20 0 34.9g 25g 25g S 0.0 40.4 46:36.86 postgres: startup process recovering 00000004000008550000004B
> 167162 postgres 20 0 34.9g 25g 25g S 0.0 40.2 17:58.38 postgres: checkpointer process
>
>
> shared_buffers = 32GB

I think it's more likely that what you're seeing is just that both
checkpointer and startup process touch most shared buffers and thus show
up as having touched all that memory.

Regards,

Andres Freund

In response to

Browse pgsql-general by date

  From Date Subject
Next Message chiru r 2017-11-03 03:16:58 SSL and Encryption
Previous Message Justin Pryzby 2017-11-03 02:21:28 Re: checkpoint and recovering process use too much memory