You see, I'm not a trained developer, I'm just a dumb psychologist,
sometimes poking around w/ things I don't fully understand -- learning by
doing, or die trying  ;-)  Give me at least three years...

Seriously now, I didn't even think about possible downsides of
--enable-profiling, I just thought profiling could be a good thing to have,
and switched it on. Now I know better and will stay away from it.  I used
the last hour to build and install a clean beta2, initialized a fresh
cluster, and everything is O.K. now (at least so far).

My apologies for the noise, and for wasting your time -- you have definitely
more urgent items on your list.

Regards 

Joerg Beyer


Am 03.11.2007 23:39 Uhr schrieb Tom Lane (<[EMAIL PROTECTED]>):

> J=?ISO-8859-1?B?9g==?=rg Beyer <[EMAIL PROTECTED]> writes:
>> Attached is the log with the "du" output, one block for the build directory,
>> one for the installation directory, and one for the 8.3-cluster. Some
>> comments are added.
> 
>> I suspect gprof to be the culprit, everything gprof related is incredibly
>> huge. 
> 
> Oh, you didn't mention you were using gprof.  Yeah, that's definitely
> where the problem is:
> 
> ...
> 364     ./src/test/regress/tmp_check/data/global
> 8040    ./src/test/regress/tmp_check/data/gprof/17805
> 8036    ./src/test/regress/tmp_check/data/gprof/17807
> ... 150 lines snipped ...
> 8120    ./src/test/regress/tmp_check/data/gprof/18286
> 8120    ./src/test/regress/tmp_check/data/gprof/18287
> 8056    ./src/test/regress/tmp_check/data/gprof/18288
> 8124    ./src/test/regress/tmp_check/data/gprof/18289
> 8080    ./src/test/regress/tmp_check/data/gprof/18290
> 8140    ./src/test/regress/tmp_check/data/gprof/18328
> 8056    ./src/test/regress/tmp_check/data/gprof/18332
> 8124    ./src/test/regress/tmp_check/data/gprof/18333
> 1296368 ./src/test/regress/tmp_check/data/gprof
> 8       ./src/test/regress/tmp_check/data/pg_clog
> ...
> 
> That is, each one of the 150+ backend processes launched during the
> regression test run dropped a separate 8MB gprof file.  Presto, 1.2GB
> eaten up.
> 
> The reason you didn't see this before is that we used to drop gmon.out
> files directly in $PGDATA, so there was only one, with different backends
> overwriting it as they exited.  A patch got put into 8.3 to drop
> gmon.out in subdirectories (as you see above) so that the files wouldn't
> get overwritten right away.  When autovacuum is enabled this is just
> about essential if you want to learn anything useful from profiling.
> 
> However, accumulation of zillions of gmon.out files is definitely a
> downside of the approach; one that I've noticed myself.  I've also
> noticed that it takes a heck of a long time to rm -rf $PGDATA once
> you've built up a few tens of thousands of gprof subdirectories.  What's
> worse, this accumulation will occur pretty quick even if you're not
> doing anything with the DB, because of autovacuum process launches.
> 
> I wonder if we need to rein in gmon.out accumulation somehow, and if
> so how?  This isn't an issue for ordinary users but I can see it
> becoming a PITA for developers.
> 
>> And I suspect that some kind of permission problem could play a role, too.
> 
> The gprof subdirectories are mode 0700 IIRC ... maybe that's causing you
> a problem?
> 
> regards, tom lane



---------------------------(end of broadcast)---------------------------
TIP 7: You can help support the PostgreSQL project by donating at

                http://www.postgresql.org/about/donate

Reply via email to