Unix Technical Forum

low memory usage reported by 'top' indicates poor tuning?

This is a discussion on low memory usage reported by 'top' indicates poor tuning? within the Pgsql Performance forums, part of the PostgreSQL category; --> Hello, I'm trying to make sense of the memory usage reported by 'top', compared to what "pg_database_size" shows. Here's ...


Go Back   Unix Technical Forum > Database Server Software > PostgreSQL > Pgsql Performance

FAQ Members List Calendar Search Today's Posts Mark Forums Read
  #1 (permalink)  
Old 04-19-2008, 10:17 AM
Mark Stosberg
 
Posts: n/a
Default low memory usage reported by 'top' indicates poor tuning?

Hello,

I'm trying to make sense of the memory usage reported by 'top', compared
to what "pg_database_size" shows. Here's one result:

select pg_size_pretty(pg_database_size('production'));
pg_size_pretty
----------------
6573 MB

Now, looking at memory use with "top", there is a lot memory that isn't
being used on the system:

Mem: 470M Active, 2064M Inact

( 3 Gigs RAM, total ).

Overall performance is decent, so maybe there's no
problem. However, I wonder if we've under-allocated memory to
PostgreSQL. (This is a dedicated FreeBSD DB server).

Some memory settings include:

shared_buffers = 8192 (we have 450 connections)
max_fsm_pages = 1250000 (we kept getting HINTs to bump it, so we did)

Maybe we should be bumping up the "sort_mem" and "vacuum_mem" as well?

I do sometimes see sorting and vacuuming as showing up as things I'd
like to run faster.

This list has been a great resource for performance tuning help, and I
continue to appreciate your help. We've used PostgreSQL on every project
we've had a choice on for the last 10 years. (Has it been that long?!)
We've never regretted it once.

Mark
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #2 (permalink)  
Old 04-19-2008, 10:17 AM
Joshua D. Drake
 
Posts: n/a
Default Re: low memory usage reported by 'top' indicates poor tuning?

Mark Stosberg wrote:
> Hello,
>
> I'm trying to make sense of the memory usage reported by 'top', compared
> to what "pg_database_size" shows. Here's one result:'



You are missing the most important parts of the equation:

1. What version of PostgreSQL.
2. What operating system -- scratch , I see freebsd
3. How big is your pg_dump in comparison to the pg_database_size()
4. What type of raid do you have?
5. What is your work_mem set to?
6. What about effective_cache_size?
7. Do you analyze? How often?

>
> select pg_size_pretty(pg_database_size('production'));
> pg_size_pretty
> ----------------
> 6573 MB
>
> Now, looking at memory use with "top", there is a lot memory that isn't
> being used on the system:
>
> Mem: 470M Active, 2064M Inact
>
> ( 3 Gigs RAM, total ).
>
> Overall performance is decent, so maybe there's no
> problem. However, I wonder if we've under-allocated memory to
> PostgreSQL. (This is a dedicated FreeBSD DB server).
>
> Some memory settings include:
>
> shared_buffers = 8192 (we have 450 connections)
> max_fsm_pages = 1250000 (we kept getting HINTs to bump it, so we did)
>
> Maybe we should be bumping up the "sort_mem" and "vacuum_mem" as well?
>
> I do sometimes see sorting and vacuuming as showing up as things I'd
> like to run faster.
>
> This list has been a great resource for performance tuning help, and I
> continue to appreciate your help. We've used PostgreSQL on every project
> we've had a choice on for the last 10 years. (Has it been that long?!)
> We've never regretted it once.
>
> Mark
>
> ---------------------------(end of broadcast)---------------------------
> TIP 2: Don't 'kill -9' the postmaster
>



--

=== The PostgreSQL Company: Command Prompt, Inc. ===
Sales/Support: +1.503.667.4564 || 24x7/Emergency: +1.800.492.2240
Providing the most comprehensive PostgreSQL solutions since 1997
http://www.commandprompt.com/

Donate to the PostgreSQL Project: http://www.postgresql.org/about/donate
PostgreSQL Replication: http://www.commandprompt.com/products/


---------------------------(end of broadcast)---------------------------
TIP 2: Don't 'kill -9' the postmaster

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #3 (permalink)  
Old 04-19-2008, 10:17 AM
Mark Stosberg
 
Posts: n/a
Default Re: low memory usage reported by 'top' indicates poor tuning?

Joshua D. Drake wrote:
> Mark Stosberg wrote:
>> Hello,
>>
>> I'm trying to make sense of the memory usage reported by 'top', compared
>> to what "pg_database_size" shows. Here's one result:'

>
>
> You are missing the most important parts of the equation:


Thanks for your patience, Joshua. I'm new at performance tuning.

> 1. What version of PostgreSQL.


Now, 8.1. We are evaluating 8.2 currently and could potentially upgrade
soon.

> 2. What operating system -- scratch , I see freebsd


> 3. How big is your pg_dump in comparison to the pg_database_size()


Using the compressed, custom format: 360M. It was recently 1.2G
due to logging tables that were pruned recently. These tables are
only inserted into and are not otherwise accessed by the application.

> 4. What type of raid do you have?


RAID-1.

> 5. What is your work_mem set to?


1024 (left at the default)

> 6. What about effective_cache_size?


1000 (default)

For any other settings, it's probably the defaults, too.

> 7. Do you analyze? How often?


Once, nightly. I'm currently learning and experience with autovacuuming
to see if there is a more optimal arrangement of autovacuuming + nightly
cron vacuuming.

A test on Friday was failure: Autovacuuming brought the application to a
crawl, and with 8.1, I couldn't see what table it was stuck on. I had
autovacuum_vacuum_cost_delay set to "10".

Thanks again for your experienced help.

Mark

>> select pg_size_pretty(pg_database_size('production'));
>> pg_size_pretty
>> ----------------
>> 6573 MB
>>
>> Now, looking at memory use with "top", there is a lot memory that isn't
>> being used on the system:
>>
>> Mem: 470M Active, 2064M Inact
>>
>> ( 3 Gigs RAM, total ).
>>
>> Overall performance is decent, so maybe there's no
>> problem. However, I wonder if we've under-allocated memory to
>> PostgreSQL. (This is a dedicated FreeBSD DB server).
>>
>> Some memory settings include:
>>
>> shared_buffers = 8192 (we have 450 connections)
>> max_fsm_pages = 1250000 (we kept getting HINTs to bump it, so we did)
>>
>> Maybe we should be bumping up the "sort_mem" and "vacuum_mem" as well?
>>
>> I do sometimes see sorting and vacuuming as showing up as things I'd
>> like to run faster.
>>
>> This list has been a great resource for performance tuning help, and I
>> continue to appreciate your help. We've used PostgreSQL on every project
>> we've had a choice on for the last 10 years. (Has it been that long?!)
>> We've never regretted it once.
>>
>> Mark
>>
>> ---------------------------(end of broadcast)---------------------------
>> TIP 2: Don't 'kill -9' the postmaster
>>

>
>

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On
Forum Jump


All times are GMT. The time now is 05:38 AM.


Powered by vBulletin® Version 3.6.5
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
www.UnixAdminTalk.com