On Wed, Apr 4, 2012 at 2:29 PM, Tom Molesworth <tom@xxxxxxxxxxxxxxxxx> wrote:
-- I believe DBIx is more of a namespace than a specific module - do you mean DBIx::Class or DBI perhaps? If the former, the IRC channel #dbix-class on irc.perl.org tends to be very helpful in tracing problems like this, particularly if you can provide a reproducible test case.
It is using DBIx::Class. I will check on the IRC channel, too; thanks.
On the Perl side, Devel::Size and possible Test::MemoryGrowth may be of some use in tracing where the memory is going. Does the memory usage hit a ceiling at any point, or does it carry on until all virtual memory is exhausted? You could try running the postgres and perl daemons with lower ulimit -m / ulimit -v settings if the increase in memory is too slow to test this in a reasonable timeframe.
The memory usage eventually exhausts all virtual memory on the system.
Other than that, maybe try looking for statement handles that aren't closed or long-running transactions?
I checked for long running transactions, but did not find any. Is there a way in Postgres to check for unclosed statement handles? If such a method exists, it would be far easier than looking through the DBIx::Class code for unclosed statement handles.
Thanks for your suggestions.
Eliot Gable