Обсуждение: Regarding Overcommit

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

Regarding Overcommit

От
jobinau@gmail.com
Дата:
The following documentation comment has been logged on the website:

Page: https://www.postgresql.org/docs/9.2/static/kernel-resources.html
Description:

Documentation says:

sysctl -w vm.overcommit_memory=2

"it will lower the chances significantly and will therefore lead to more
robust system behavior."

This statement in documentation is Wrong.

This is not recommended for production environments, because if an
out-of-memory condition does present itself, there could be unexpected
behavior.

Re: Regarding Overcommit

От
Kevin Grittner
Дата:
On Mon, Jun 13, 2016 at 2:00 AM,  <jobinau@gmail.com> wrote:

> Documentation says:
>
> sysctl -w vm.overcommit_memory=2
>
> "it will lower the chances significantly and will therefore lead to more
> robust system behavior."
>
> This statement in documentation is Wrong.
>
> This is not recommended for production environments, because if an
> out-of-memory condition does present itself, there could be unexpected
> behavior.

It is wrong for some types of production environments, but for a
server where the only (or primary) service is PostgreSQL it is
absolutely Right.  Without this, an out-of-memory condition which
cancels any database process causes a crash and restart of all
connections without necessarily giving any useful clues as to the
cause of the crash.  With vm.overcommit_memory = 2 it will
generally yield an error on only the one connection causing the
problem, and provide a detailed dump of memory contexts (with
allocated space in each).  Other connections are generally
unaffected and the cause of the problem can be fixed to prevent
recurrence.

--
Kevin Grittner
EDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company