Re: Invoke OOM killer

From: Joe Conway <mail(at)joeconway(dot)com>
To: kaido vaikla <kaido(dot)vaikla(at)gmail(dot)com>, pgsql-admin(at)postgresql(dot)org
Subject: Re: Invoke OOM killer
Date: 2023-07-06 17:12:35
Message-ID: 47cb8d14-7288-945e-19d1-655b8117960e@joeconway.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

On 7/6/23 12:27, kaido vaikla wrote:
> Hi,
>
> How to invoke OOM killer for pg process?
> Some easy "hack" for test purpose.
>
> OS
> Rocky Linux release 9.2 (Blue Onyx)
> pg
> 15.2

If you are running postgres under systemd, you can add a cgroup memory
limit to the unit file. Something like (depending on cgroup version and
systemd version the params might be slightly different -- cannot
remember off the top of my head):
-------
MemoryAccounting=yes
MemoryMax=256M
-------
Don't forget to
-------
systemctl daemon-reload
systemctl restart postgresql(at)15
#or whatever version
-------

That will cause an OOM killer strike at 256M of total cgroup usage (all
of the postgres processes combined).

From there it is pretty easy to trigger by doing something like, e.g.
-------
-- attempt to create a ~500M string
select repeat('X', 500000000);
-------

--
Joe Conway
PostgreSQL Contributors Team
RDS Open Source Databases
Amazon Web Services: https://aws.amazon.com

In response to

Browse pgsql-admin by date

  From Date Subject
Next Message Jeff Janes 2023-07-07 16:07:37 Re: Invoke OOM killer
Previous Message Ron 2023-07-06 16:40:04 Re: Invoke OOM killer