Re: How to monitor Postgres real memory usage - Mailing list pgsql-performance

From Justin Pryzby
Subject Re: How to monitor Postgres real memory usage
Date
Msg-id 20220526160519.GB19626@telsasoft.com
Whole thread Raw
In response to Re: How to monitor Postgres real memory usage  (徐志宇徐 <xuzhiyuster@gmail.com>)
Responses Re: How to monitor Postgres real memory usage
List pgsql-performance
> enable_seqscan = 'off'

Why is this here ?  I think when people set this, it's because they "want to
use more index scans to make things faster".  But index scans aren't
necessarily faster, and this tries to force their use even when it will be
slower.  It's better to address the queries that are slow (or encourage index
scans by decreasing random_page_cost).

> maintenance_work_mem = '64MB'
> autovacuum_max_workers = '20'
> vacuum_cost_limit = '2000'
> autovacuum_vacuum_scale_factor = '0.0002'
> autovacuum_analyze_scale_factor = '0.00001'

This means you're going to use up to 20 processes simultaneously running vacuum
(each of which may use 64MB memory).  What kind of storage does the server
have?  Can it support 20 background processes reading from disk, in addition to
other processs ?

Justin Pryzby <pryzby@telsasoft.com> 于2022年5月25日周三 01:40写道:
> > What postgres version ?
> > How was it installed ?  From souce?  From a package ?

What about this ?

I'm not sure how/if this would affect memory allocation, but if the server is
slow, processes will be waiting longer, rather than completing quickly, and
using their RAM for a longer period...

Does the postgres user have any rlimits set ?

Check:
ps -fu postgres
# then:
sudo cat /proc/2948/limits



pgsql-performance by date:

Previous
From: 徐志宇徐
Date:
Subject: Re: How to monitor Postgres real memory usage
Next
From: 徐志宇徐
Date:
Subject: Re: How to monitor Postgres real memory usage