Обсуждение: Postgres 9.1.8 - Out of memory: postgres killed after changing "checkoint_completion_target"

Поиск
Список
Период
Сортировка

Postgres 9.1.8 - Out of memory: postgres killed after changing "checkoint_completion_target"

От
Pierre Slania
Дата:

Hi,


Application Server :

----------------------------

AS JBoss  7.1.1.Final with a connection pool

Postgres version running in production

------------------------------------------------

PostgreSQL 9.1.8 on x86_64-unknown-linux-gnu, compiled by gcc-4.4.real (Debian 4.4.5-8) 4.4.5, 64-bit

 

OS Server production

--------------------------

Linux “myserver” 3.2.0-4-amd64 #1 SMP Debian 3.2.51-1 x86_64 GNU/Linux


The following memories value was done today:

postgres@”myserver”:/var/log/postgresql$ free -m

                     total        used         free        shared    buffers     cached

Mem:         32115      29498       2617          0            110              20128

-/+ buffers/cache:       9258      22857

Swap:            0          0          0

No swap allowed in this server


Problem :

------------

Dec  4th 10:42:41 “myserver” kernel: [7604991.147522] Out of memory: Kill process 2904 (postgres) score 217 or sacrifice child

How to cause the error:

-----------------------------

I changed the parameter “checkpoint_completion_target” from 0.5 to 0.9 in the postgresql.conf file unless the production is up and used by multiple users. After that I made a postgres reload the 4th dec 2014 at 10:20AM

 

(Note that same problem has occurred several weeks ago when I changed “checkpoint_segment” from 3 to 10 in the postgresql.conf file after reloading postgres)

 Observation:

----------------

The database seems to run well from the 4th dec between 10:20AM to 10:42 AM before falling back suddently to out of memory.
It switched to recovery mode and restart automatically.

There were no problem encountered like that before making any change to the checkpoint parameters.

 

Attached files

-----------------

Syslog file and postgresql.log  file are attached. I made some clean up in the postgres log file.

 

Question:

------------

Is it not recommended to change any “checkpoint_xxx” parameters in the postgresql.conf file when the production is running ?

 

Kind Regards

Вложения

Re: Postgres 9.1.8 - Out of memory: postgres killed after changing "checkoint_completion_target"

От
lst_hoe02@kwsoft.de
Дата:
Zitat von Pierre Slania <pierre.slania@gmail.com>:

> Hi,
>
>
> Application Server :
>
> ----------------------------
>
> AS JBoss  7.1.1.Final with a connection pool
>
> Postgres version running in production
>
> ------------------------------------------------
>
> PostgreSQL 9.1.8 on x86_64-unknown-linux-gnu, compiled by gcc-4.4.real
> (Debian 4.4.5-8) 4.4.5, 64-bit
>
>
>
> OS Server production
>
> --------------------------
>
> Linux “myserver” 3.2.0-4-amd64 #1 SMP Debian 3.2.51-1 x86_64 GNU/Linux
>
>
> The following memories value was done today:
>
> postgres@”myserver”:/var/log/postgresql$ free -m
>
>                      total        used         free        shared
> buffers     cached
>
> Mem:         32115      29498       2617          0            110
>            20128
>
> -/+ buffers/cache:       9258      22857
>
> Swap:            0          0          0
>
> No swap allowed in this server

Fix this. Configuring no "Swap" is a common misconception:
http://serverfault.com/questions/49222/centos-how-much-swap-for-16gb-of-ram/332205#332205

>
>  Problem :
>
> ------------
>
> Dec  4th 10:42:41 “myserver” kernel: [7604991.147522] Out of memory: Kill
> process 2904 (postgres) score 217 or sacrifice child

This is a error in your configuration, not in PostgreSQL. PostgreSQL
is the victim of the OOM nearly for sure not the reason.

See also in
http://www.postgresql.org/docs/9.1/static/kernel-resources.html
(17.4.3 Linux Memory Overcommit)

Regards

Andreas



Вложения