Thread: stat /etc/localtime 38000 times on startup?
I just traced starting up a postmaster, and got over 38000 lines like this: stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=1267, ...}) = 0 I assume it comes from the timezone library, but it seems highly inefficient. Anyone know why we might get this? cheers andrew
> I just traced starting up a postmaster, and got over 38000 > lines like this: > > stat64("/etc/localtime", {st_mode=S_IFREG|0644, > st_size=1267, ...}) = 0 > > I assume it comes from the timezone library, but it seems > highly inefficient. Anyone know why we might get this? Without digging into details, I would guess htat comes from the probing of available timezones to find one that matches the current one. We do a whole lot of setting/resetting the TZ there - but only during postmaster startup. //Magnus
Andrew Dunstan <andrew@dunslane.net> writes: > I just traced starting up a postmaster, and got over 38000 lines like this: > stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=1267, ...}) = 0 > I assume it comes from the timezone library, but it seems highly > inefficient. Anyone know why we might get this? glibc's strftime does that if you don't have a TZ value set in the postmaster's environment. http://archives.postgresql.org/pgsql-hackers/2005-10/msg00884.php regards, tom lane