From: | Kirk Wolak <wolakk(at)gmail(dot)com> |
---|---|
To: | Laurenz Albe <laurenz(dot)albe(at)cybertec(dot)at> |
Cc: | Daniel Gustafsson <daniel(at)yesql(dot)se>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>, Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com> |
Subject: | Re: Oom on temp (un-analyzed table caused by JIT) V16.1 [Fixed Already] |
Date: | 2024-01-19 22:09:02 |
Message-ID: | CACLU5mSj_YA0wYCjvWTxY=ZtqWaUJ4D=BSNaUiTY_RDkFDLqqg@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Fri, Jan 19, 2024 at 4:20 AM Laurenz Albe <laurenz(dot)albe(at)cybertec(dot)at>
wrote:
> On Thu, 2024-01-18 at 19:50 -0500, Kirk Wolak wrote:
> > I did a little more checking and the reason I did not see the link
> MIGHT be because EXPLAIN did not show a JIT attempt.
> > I tried to use settings that FORCE a JIT... But to no avail.
> >
> > I am now concerned that the problem is more hidden in my use case.
> Meaning I CANNOT conclude it is fixed.
> > But I know of NO WAY to force a JIT (I lowered costs to 1, etc. ).
> >
> > You don't know a way to force at least the JIT analysis to happen?
> (because I already knew if JIT was off, the leak wouldn't happen).
>
> If you set the limits to 0, you can trigger it easily:
>
> SET jit = on;
> SET jit_above_cost = 0;
> SET jit_inline_above_cost = 0;
> SET jit_optimize_above_cost = 0;
>
Okay,
I Did exactly this (just now). But the EXPLAIN does not contain the JIT?
-------------------------------------------------------------------------------
Sort (cost=5458075.88..5477861.00 rows=7914047 width=12)
Sort Key: seid
-> HashAggregate (cost=3910139.62..4280784.00 rows=7914047 width=12)
Group Key: seid, fr_field_name, st_field_name
Planned Partitions: 128
-> Seq Scan on parts (cost=0.00..1923249.00 rows=29850000
width=12)
Filter: ((seid <> 497) AND ((partnum)::text >= '1'::text))
(7 rows)
From a FUTURE email, I noticed pg_jit_available()
and it's set to f??
Okay, so does this require a special BUILD command?
postgres=# select pg_jit_available();
pg_jit_available
------------------
f
(1 row)
postgres=# \dconfig *jit*
List of configuration parameters
Parameter | Value
-------------------------+---------
jit | on
jit_above_cost | 100000
jit_debugging_support | off
jit_dump_bitcode | off
jit_expressions | on
jit_inline_above_cost | 500000
jit_optimize_above_cost | 500000
jit_profiling_support | off
jit_provider | llvmjit
jit_tuple_deforming | on
(10 rows)
From | Date | Subject | |
---|---|---|---|
Next Message | Tomas Vondra | 2024-01-19 22:14:12 | Re: index prefetching |
Previous Message | Nathan Bossart | 2024-01-19 21:59:41 | cleanup patches for dshash |