Unix Technical Forum

Huge memory consumption during vacuum (v.8.0)

This is a discussion on Huge memory consumption during vacuum (v.8.0) within the pgsql Hackers forums, part of the PostgreSQL category; --> Hi there, seems I have a serious problem with vacuuming of rather big table (500,000,000 rows) on dual Intel(R) ...


Go Back   Unix Technical Forum > Database Server Software > PostgreSQL > pgsql Hackers

FAQ Members List Calendar Search Today's Posts Mark Forums Read
  #1 (permalink)  
Old 04-11-2008, 03:32 AM
Oleg Bartunov
 
Posts: n/a
Default Huge memory consumption during vacuum (v.8.0)

Hi there,

seems I have a serious problem with vacuuming of rather big table
(500,000,000 rows) on dual Intel(R) Xeon(TM) CPU 2.40GHz, 1Gb RAM,
running Linux 2.6.7. I have PostgreSQL 8.0 release installed with
slightly changed postgresql.conf:

shared_buffers = 24576 # min 16, at least max_connections*2, 8KB each
maintenance_work_mem = 65536 # 16384 # min 1024, size in KB
checkpoint_segments = 12 #3 # in logfile segments, min 1, 16MB each

I tried run 'vacuumdb -v -z -f wsdb > vacuum-wsdb.log 2>&1&'
with default value of maintenance_work_mem but it was
too small for big table and I increased its value as Tom recommended.
But this change causes huge memory consumption - rather quickly memory
grew to 1Gb and after almost 42 hours of running (yes, it's still running)
postmaster eats more than 2Gb of RAM

20458 postgres 15 0 2462m 646m 204m D 37.5 63.9 744:38.74 postmaster

There are no messages in log file since start (just pg_* tables), so it's
difficult to say if there is some useful activity

The only non-standard action was installing 8.0 in neighbour with running
7.4.6 version. I run configure with different prefix and pgport specified
and use PGPORT, PGLIB, PGDATA, PATH modified to work with new postmaster.
I don't see any problem here.

Does anybody have experience vacuuming large database with 8.0 ?


table is very simple:

Table "public.usno"
Column | Type | Modifiers
--------+--------+-----------
ra | real |
dec | real |
bmag | real |
rmag | real |
ipix | bigint |
Indexes:
"ipix_ind" btree (ipix)
"radec_idx1" btree (ra, "dec")

Regards,
Oleg
__________________________________________________ ___________
Oleg Bartunov, sci.researcher, hostmaster of AstroNet,
Sternberg Astronomical Institute, Moscow University (Russia)
Internet: oleg@sai.msu.su, http://www.sai.msu.su/~megera/
phone: +007(095)939-16-83, +007(095)939-23-83

---------------------------(end of broadcast)---------------------------
TIP 6: Have you searched our list archives?

http://archives.postgresql.org

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #2 (permalink)  
Old 04-11-2008, 03:32 AM
Oleg Bartunov
 
Posts: n/a
Default Re: Huge memory consumption during vacuum (v.8.0)

On Sun, 30 Jan 2005, Oleg Bartunov wrote:

> On Sun, 30 Jan 2005, Tom Lane wrote:
>
>> Oleg Bartunov <oleg@sai.msu.su> writes:
>>> On Sun, 30 Jan 2005, Tom Lane wrote:
>>>> I'm confused. The log trace you showed us before appeared to be from
>>>> a non-FULL vacuum, but here you're saying it's VACUUM FULL. Which is
>>>> it ... or did you change?

>>
>>> Yes, first time I tried vacuum from withing psql, next time I decided
>>> to run vacuumdb and seems changed option.

>>
>> Um. Well, a VACUUM FULL is going to build in-memory data structures
>> that represent *all* of the usable free space in a table. I don't
>> actually think that VACUUM FULL is useful on an enormous table ... you
>> want to keep after it with routine plain VACUUMs, instead.

>
> ok. I'll try without FULL, but if memory does not fail me postmaster was
> also greedy. Let's see


Seems, postmaster eats expected amount of memory now ! Will see how long
it will proceeded. Probably, my case should be documented somewhere.

>
>>
>> Another possibility is to use CLUSTER or a rewriting ALTER TABLE to
>> shrink the space, but be aware that this requires a transient second
>> copy of the table and indexes.


I aware, but I don't so much free space

Is there TODO for scaling VACUUM FULL ?



>>
>> regards, tom lane
>>

>
> Regards,
> Oleg
> __________________________________________________ ___________
> Oleg Bartunov, sci.researcher, hostmaster of AstroNet,
> Sternberg Astronomical Institute, Moscow University (Russia)
> Internet: oleg@sai.msu.su, http://www.sai.msu.su/~megera/
> phone: +007(095)939-16-83, +007(095)939-23-83
>
> ---------------------------(end of broadcast)---------------------------
> TIP 5: Have you checked our extensive FAQ?
>
> http://www.postgresql.org/docs/faq
>


Regards,
Oleg
__________________________________________________ ___________
Oleg Bartunov, sci.researcher, hostmaster of AstroNet,
Sternberg Astronomical Institute, Moscow University (Russia)
Internet: oleg@sai.msu.su, http://www.sai.msu.su/~megera/
phone: +007(095)939-16-83, +007(095)939-23-83

---------------------------(end of broadcast)---------------------------
TIP 9: the planner will ignore your desire to choose an index scan if your
joining column's datatypes do not match

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #3 (permalink)  
Old 04-11-2008, 03:34 AM
Oleg Bartunov
 
Posts: n/a
Default Re: Huge memory consumption during vacuum (v.8.0)

On Sun, 30 Jan 2005, Oleg Bartunov wrote:

>
> Seems, postmaster eats expected amount of memory now ! Will see how long
> it will proceeded. Probably, my case should be documented somewhere.


just to inform - vacuum took almost 48 hours !

>
>>
>>>
>>> Another possibility is to use CLUSTER or a rewriting ALTER TABLE to
>>> shrink the space, but be aware that this requires a transient second
>>> copy of the table and indexes.

>
> I aware, but I don't so much free space


I run
wsdb=# create table c_usno as select * from usno order by ipix;
to cluster table and notice that disk usage changing in discontinuous manner.
After some reduction I see no changes. postmaster is doing something

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
12723 postgres 18 0 207m 196m 204m D 21.6 19.4 52:17.12 postmaster

I see that pgsql_tmp/ contains files, looks like clustered table.
What postmaster is doing if disk usage doesn't changed ?



>
> Is there TODO for scaling VACUUM FULL ?
>
>
>
>>>
>>> regards, tom lane
>>>

>>
>> Regards,
>> Oleg
>> __________________________________________________ ___________
>> Oleg Bartunov, sci.researcher, hostmaster of AstroNet,
>> Sternberg Astronomical Institute, Moscow University (Russia)
>> Internet: oleg@sai.msu.su, http://www.sai.msu.su/~megera/
>> phone: +007(095)939-16-83, +007(095)939-23-83
>>
>> ---------------------------(end of broadcast)---------------------------
>> TIP 5: Have you checked our extensive FAQ?
>>
>> http://www.postgresql.org/docs/faq
>>

>
> Regards,
> Oleg
> __________________________________________________ ___________
> Oleg Bartunov, sci.researcher, hostmaster of AstroNet,
> Sternberg Astronomical Institute, Moscow University (Russia)
> Internet: oleg@sai.msu.su, http://www.sai.msu.su/~megera/
> phone: +007(095)939-16-83, +007(095)939-23-83
>
> ---------------------------(end of broadcast)---------------------------
> TIP 9: the planner will ignore your desire to choose an index scan if your
> joining column's datatypes do not match
>


Regards,
Oleg
__________________________________________________ ___________
Oleg Bartunov, sci.researcher, hostmaster of AstroNet,
Sternberg Astronomical Institute, Moscow University (Russia)
Internet: oleg@sai.msu.su, http://www.sai.msu.su/~megera/
phone: +007(095)939-16-83, +007(095)939-23-83

---------------------------(end of broadcast)---------------------------
TIP 9: the planner will ignore your desire to choose an index scan if your
joining column's datatypes do not match

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #4 (permalink)  
Old 04-11-2008, 03:34 AM
Oleg Bartunov
 
Posts: n/a
Default Re: Huge memory consumption during vacuum (v.8.0)

On Tue, 1 Feb 2005, Tom Lane wrote:

> Oleg Bartunov <oleg@sai.msu.su> writes:
>> I see that pgsql_tmp/ contains files, looks like clustered table.
>> What postmaster is doing if disk usage doesn't changed ?

>
> Most likely doing a disk-based merge sort ...
>


just interesting - multiway, in-place or just place merge sort ?

> regards, tom lane
>


Regards,
Oleg
__________________________________________________ ___________
Oleg Bartunov, sci.researcher, hostmaster of AstroNet,
Sternberg Astronomical Institute, Moscow University (Russia)
Internet: oleg@sai.msu.su, http://www.sai.msu.su/~megera/
phone: +007(095)939-16-83, +007(095)939-23-83

---------------------------(end of broadcast)---------------------------
TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org

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 12:42 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