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

Started by Bill Moranover 19 years ago3 messageshackers
Jump to latest
#1Bill Moran
wmoran@collaborativefusion.com

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.

Attachments:

trace_log_files.difftext/x-diff; charset=iso-8859-1; name=trace_log_files.diffDownload+28-4
#2Simon Riggs
simon@2ndQuadrant.com
In reply to: Bill Moran (#1)
Re: Logging temp file useage ... a little advice wouldbe appreciated

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

#3Bruce Momjian
bruce@momjian.us
In reply to: Bill Moran (#1)
Re: Logging temp file useage ... a little advice

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. +