Обсуждение: Logging temp file useage ... a little advice would be appreciated

Поиск
Список
Период
Сортировка

Logging temp file useage ... a little advice would be appreciated

От
Bill Moran
Дата:
So I've got this patch (attached, against 8.2)

The goal is to track temp file usage as an aid to server tuning (such as
work_mem)

Most of the patch seems to work just dandy, except I'm getting weird
sizes reported:

2006-12-29 17:46:21 EST [45558]: [575-1] LOG:  temp file: size 140737488343776 path
base/32861/pgsql_tmp/pgsql_tmp45558.554

Seems a bit odd to have a 140T file on a 130G partition ...

I'm working on a FreeBSD 6.2 amd64 system.  The headers show stat.st_size to
be of type off_t, which appears to be a 64-bit int.  I figured that %ld
would be the correct format.

Am I hitting something such as file sparseness?  Is this entire endeavour
doomed from the start?  Or am I just making some sort of dumb mistake?

Any pointers are welcome.

--
Bill Moran
Collaborative Fusion Inc.

Вложения

Re: Logging temp file useage ... a little advice wouldbe appreciated

От
"Simon Riggs"
Дата:
On Fri, 2006-12-29 at 17:53 -0500, Bill Moran wrote:
> So I've got this patch (attached, against 8.2)
> 
> The goal is to track temp file usage as an aid to server tuning (such as
> work_mem)
> 
> Most of the patch seems to work just dandy, except I'm getting weird
> sizes reported:
> 
> 2006-12-29 17:46:21 EST [45558]: [575-1] LOG:  temp file: size 140737488343776 path
base/32861/pgsql_tmp/pgsql_tmp45558.554
> 
> Seems a bit odd to have a 140T file on a 130G partition ...

The fd can be set to VFD_CLOSED just above where you've patched. 

Try stat-ing the filename instead, as the unlink does.

Your patches should be diff -c format, submitted to -patches, please.

--  Simon Riggs              EnterpriseDB   http://www.enterprisedb.com




Re: Logging temp file useage ... a little advice

От
Bruce Momjian
Дата:
Perhaps the file is not open at the time you are doing the fstat(). 
Also, context diffs (diff -c) are clearer for us.

---------------------------------------------------------------------------

Bill Moran wrote:
> 
> So I've got this patch (attached, against 8.2)
> 
> The goal is to track temp file usage as an aid to server tuning (such as
> work_mem)
> 
> Most of the patch seems to work just dandy, except I'm getting weird
> sizes reported:
> 
> 2006-12-29 17:46:21 EST [45558]: [575-1] LOG:  temp file: size 140737488343776 path
base/32861/pgsql_tmp/pgsql_tmp45558.554
> 
> Seems a bit odd to have a 140T file on a 130G partition ...
> 
> I'm working on a FreeBSD 6.2 amd64 system.  The headers show stat.st_size to
> be of type off_t, which appears to be a 64-bit int.  I figured that %ld
> would be the correct format.
> 
> Am I hitting something such as file sparseness?  Is this entire endeavour
> doomed from the start?  Or am I just making some sort of dumb mistake?
> 
> Any pointers are welcome.
> 
> -- 
> Bill Moran
> Collaborative Fusion Inc.

[ Attachment, skipping... ]

> 
> ---------------------------(end of broadcast)---------------------------
> TIP 1: if posting/reading through Usenet, please send an appropriate
>        subscribe-nomail command to majordomo@postgresql.org so that your
>        message can get through to the mailing list cleanly

--  Bruce Momjian   bruce@momjian.us EnterpriseDB    http://www.enterprisedb.com
 + If your life is a hard drive, Christ can be your backup. +