Thread: Logging temp file useage ... a little advice would be appreciated
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
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
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. +