How to know how much CPU, RAM is used by existing 1 database

Started by Yi Sunover 3 years ago7 messagesgeneral
Jump to latest
#1Yi Sun
yinan81@gmail.com

Hi,

There are many databases in our production patroni cluster and it seems it
is overloaded, so we decide to migrate the busiest database to a new
patroni cluster.

pgwatch2 is implemented, how to know how much CPU, RAM is used by the
database please? Then we can use it to prepare the new patroni cluster
hardware. Thank you

Best regards
Dennis

#2Yi Sun
yinan81@gmail.com
In reply to: Yi Sun (#1)
Re: How to know how much CPU, RAM is used by existing 1 database

Hi Guys,

Who can help me with this please? I researched but still no result yet,
thank you

On Tue, 25 Oct 2022 at 16:30, Yi Sun <yinan81@gmail.com> wrote:

Show quoted text

Hi,

There are many databases in our production patroni cluster and it seems it
is overloaded, so we decide to migrate the busiest database to a new
patroni cluster.

pgwatch2 is implemented, how to know how much CPU, RAM is used by the
database please? Then we can use it to prepare the new patroni cluster
hardware. Thank you

Best regards
Dennis

#3jian he
jian.universality@gmail.com
In reply to: Yi Sun (#2)
Re: How to know how much CPU, RAM is used by existing 1 database

On Wed, Oct 26, 2022 at 11:07 AM Yi Sun <yinan81@gmail.com> wrote:

Hi Guys,

Who can help me with this please? I researched but still no result yet,
thank you

On Tue, 25 Oct 2022 at 16:30, Yi Sun <yinan81@gmail.com> wrote:

Hi,

There are many databases in our production patroni cluster and it seems
it is overloaded, so we decide to migrate the busiest database to a new
patroni cluster.

pgwatch2 is implemented, how to know how much CPU, RAM is used by the
database please? Then we can use it to prepare the new patroni cluster
hardware. Thank you

Best regards
Dennis

manual: https://www.postgresql.org/docs/current/runtime-config-resource.html
except min_dynamic_shared_memory (integer)
all other parameters are used to cap the memory. almost all parameters
mentioned "database server" which means it's on cluster level.

--
I recommend David Deutsch's <<The Beginning of Infinity>>

Jian

#4Yi Sun
yinan81@gmail.com
In reply to: jian he (#3)
Re: How to know how much CPU, RAM is used by existing 1 database

On Wed, 26 Oct 2022 at 18:10, jian he <jian.universality@gmail.com> wrote:

On Wed, Oct 26, 2022 at 11:07 AM Yi Sun <yinan81@gmail.com> wrote:

Hi Guys,

Who can help me with this please? I researched but still no result yet,
thank you

On Tue, 25 Oct 2022 at 16:30, Yi Sun <yinan81@gmail.com> wrote:

Hi,

There are many databases in our production patroni cluster and it seems
it is overloaded, so we decide to migrate the busiest database to a new
patroni cluster.

pgwatch2 is implemented, how to know how much CPU, RAM is used by the
database please? Then we can use it to prepare the new patroni cluster
hardware. Thank you

Best regards
Dennis

manual:
https://www.postgresql.org/docs/current/runtime-config-resource.html
except min_dynamic_shared_memory (integer)
all other parameters are used to cap the memory. almost all parameters
mentioned "database server" which means it's on cluster level.

--
I recommend David Deutsch's <<The Beginning of Infinity>>

Jian

Hi Jian he

Thank you for your reply

The parameters are on cluster level, so we still can not know how much
memory is used in a specific database, for example, total memory is 64GB
1. How to get how much memory is used on cluster level? For example 40GB
2. How to get how much memory is used in a specific database? For example
30GB, then we can prepare the new patroni cluster 32GB is enough

Thank you
Dennis

#5Rob Sargent
robjsargent@gmail.com
In reply to: Yi Sun (#4)
Re: How to know how much CPU, RAM is used by existing 1 database

On 10/26/22 08:26, Yi Sun wrote:

On Wed, 26 Oct 2022 at 18:10, jian he <jian.universality@gmail.com> wrote:

On Wed, Oct 26, 2022 at 11:07 AM Yi Sun <yinan81@gmail.com> wrote:

Hi Guys,

Who can help me with this please? I researched but still no
result yet, thank you

On Tue, 25 Oct 2022 at 16:30, Yi Sun <yinan81@gmail.com> wrote:

Hi,

There are many databases in our production patroni cluster
and it seems it is overloaded, so we decide to migrate the
busiest database to a new patroni cluster.

pgwatch2 is implemented, how to know how much CPU, RAM is
used by the database please? Then we can use it to prepare
the new patroni cluster hardware. Thank you

Best regards
Dennis

manual:
https://www.postgresql.org/docs/current/runtime-config-resource.html|
|
|except |min_dynamic_shared_memory| (|integer|)|
|all other parameters are used to cap the memory. almost all
parameters mentioned "database server" which means it's on cluster
level.
|
|
|
|
|
--
 I recommend David Deutsch's <<The Beginning of Infinity>>

  Jian

 Hi Jian he

Thank you for your reply

The parameters are on cluster level, so we still can not know how much
memory is used in a specific database, for example, total memory is 64GB
1. How to get how much memory is used on cluster level? For example 40GB
2. How to get how much memory is used in a specific database? For
example 30GB, then we can prepare the new patroni cluster 32GB is enough

Thank you
Dennis

You can see connection with pg*backend* functions.  You can log
connections to see which db is most commonly accessed. You can log sql
to see which table are being touched.  You'll have to assume a
correlation to CPU/disc usage.  What have you tried?

#6Atul Kumar
akumar14871@gmail.com
In reply to: Rob Sargent (#5)
Re: How to know how much CPU, RAM is used by existing 1 database

I hope the below link helps...

https://www.enterprisedb.com/blog/monitor-cpu-and-memory-percentage-used-each-process-postgresqlppas-91

Show quoted text

On 10/26/22, Rob Sargent <robjsargent@gmail.com> wrote:

On 10/26/22 08:26, Yi Sun wrote:

On Wed, 26 Oct 2022 at 18:10, jian he <jian.universality@gmail.com>
wrote:

On Wed, Oct 26, 2022 at 11:07 AM Yi Sun <yinan81@gmail.com> wrote:

Hi Guys,

Who can help me with this please? I researched but still no
result yet, thank you

On Tue, 25 Oct 2022 at 16:30, Yi Sun <yinan81@gmail.com> wrote:

Hi,

There are many databases in our production patroni cluster
and it seems it is overloaded, so we decide to migrate the
busiest database to a new patroni cluster.

pgwatch2 is implemented, how to know how much CPU, RAM is
used by the database please? Then we can use it to prepare
the new patroni cluster hardware. Thank you

Best regards
Dennis

manual:
https://www.postgresql.org/docs/current/runtime-config-resource.html|
|
|except |min_dynamic_shared_memory| (|integer|)|
|all other parameters are used to cap the memory. almost all
parameters mentioned "database server" which means it's on cluster
level.
|
|
|
|
|
--
 I recommend David Deutsch's <<The Beginning of Infinity>>

  Jian

 Hi Jian he

Thank you for your reply

The parameters are on cluster level, so we still can not know how much
memory is used in a specific database, for example, total memory is 64GB
1. How to get how much memory is used on cluster level? For example 40GB
2. How to get how much memory is used in a specific database? For
example 30GB, then we can prepare the new patroni cluster 32GB is enough

Thank you
Dennis

You can see connection with pg*backend* functions.  You can log
connections to see which db is most commonly accessed. You can log sql
to see which table are being touched.  You'll have to assume a
correlation to CPU/disc usage.  What have you tried?

#7Laurenz Albe
laurenz.albe@cybertec.at
In reply to: Yi Sun (#2)
Re: How to know how much CPU, RAM is used by existing 1 database

On Wed, 2022-10-26 at 13:37 +0800, Yi Sun wrote:

Who can help me with this please? I researched but still no result yet, thank you

On Tue, 25 Oct 2022 at 16:30, Yi Sun <yinan81@gmail.com> wrote:

Hi,

There are many databases in our production patroni cluster and it seems it is overloaded,
so we decide to migrate the busiest database to a new patroni cluster. 

pgwatch2 is implemented, how to know how much CPU, RAM is used by the database please?
Then we can use it to prepare the new patroni cluster hardware. Thank you

You can look how much *private* memory the backends for a certain database
use by examining /proc/<pid>/smaps, you can use the pg_buffercache extension
to see how much of which database is in cache, but you don't know how much
of the kernel page cache is used to cache files for that database.

Yours,
Laurenz Albe