Re: How to monitor Postgres real memory usage

From: Justin Pryzby <pryzby(at)telsasoft(dot)com>
To: 徐志宇徐 <xuzhiyuster(at)gmail(dot)com>
Cc: pgsql-performance(at)lists(dot)postgresql(dot)org
Subject: Re: How to monitor Postgres real memory usage
Date: 2022-05-26 16:05:19
Message-ID: 20220526160519.GB19626@telsasoft.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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(at)telsasoft(dot)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

In response to

Responses

Browse pgsql-performance by date

  From Date Subject
Next Message 徐志宇徐 2022-05-26 17:39:15 Re: How to monitor Postgres real memory usage
Previous Message 徐志宇徐 2022-05-26 15:47:40 Re: How to monitor Postgres real memory usage