| From: | Jean-Christophe Boggio <postgresql(at)thefreecat(dot)org> | 
|---|---|
| To: | pgsql-admin(at)lists(dot)postgresql(dot)org | 
| Subject: | One PG process eating more than 40GB of RAM and getting killed by OOM | 
| Date: | 2023-10-13 13:06:57 | 
| Message-ID: | 1018f9c0-9d14-4146-b7e9-24c48ea29e1d@thefreecat.org | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-admin | 
Hello,
On my dev laptop, I have ~40GB free RAM. When launching a heavy 
calculation in PostgreSQL (within a stored procedure), it consumes as 
much memory as is available and then gets killed by OOM. There is only 
one connected session.
I have the following settings, which look reasonable (to me):
shared_buffers = 512MB                  # min 128kB
#huge_pages = try                       # on, off, or try
temp_buffers = 512MB                    # min 800kB
#max_prepared_transactions = 0          # zero disables the feature
work_mem = 1GB                          # min 64kB
#hash_mem_multiplier = 1.0              # 1-1000.0 multiplier on hash 
table work_mem
maintenance_work_mem = 1GB              # min 1MB
#autovacuum_work_mem = -1               # min 1MB, or -1 to use 
maintenance_work_mem
#logical_decoding_work_mem = 64MB       # min 64kB
#max_stack_depth = 2MB                  # min 100kB
#shared_memory_type = mmap              # the default is the first option
dynamic_shared_memory_type = posix      # the default is the first option
#temp_file_limit = -1                   # limits per-process temp file space
This is PostgreSQL 14.7 running on Ubuntu 23.04
What can I do to prevent the crash?
Thanks for your help,
| From | Date | Subject | |
|---|---|---|---|
| Next Message | MichaelDBA | 2023-10-13 13:12:27 | Re: One PG process eating more than 40GB of RAM and getting killed by OOM | 
| Previous Message | Laurenz Albe | 2023-10-13 11:59:35 | Re: Locks analyze |