Re: AIX - Out of Memory

From: Brad Nicholson <bnichols(at)ca(dot)afilias(dot)info>
To: Kenneth Marshall <ktm(at)rice(dot)edu>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, "Thorne, Francis" <thornef(at)cromwell(dot)co(dot)uk>, pgsql-admin(at)postgresql(dot)org
Subject: Re: AIX - Out of Memory
Date: 2010-02-16 15:20:45
Message-ID: 1266333645.4412.10.camel@bnicholson-desktop
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

On Mon, 2010-02-15 at 10:18 -0600, Kenneth Marshall wrote:
> On Mon, Feb 15, 2010 at 10:57:06AM -0500, Tom Lane wrote:
> > "Thorne, Francis" <thornef(at)cromwell(dot)co(dot)uk> writes:
> > > Looking for some help with regards to an 'Out of Memory' issue I have
> > > with our Postgresql install on AIX. When running large updates or
> > > select queries we get an out of memory error returned and details
> > > entered in the log file like below. This is a 64-bit install and I have
> > > set the ulimit for the postgres user to unlimited.
> >
> > The bloat seems to be here:
> >
> > > AfterTriggerEvents: 131063808 total in 26 blocks; 576 free (7
> > > chunks); 131063232 used
> >
> > but it's hard to believe you'd be getting "out of memory" after only
> > 130MB in a 64-bit build. Are you *sure* the postgres executable is
> > 64-bit? Are you *sure* the postmaster has been launched with
> > nonrestrictive ulimit? On lots of setups that takes modifying the
> > PG startup script, not just fooling with some user's .profile.
> >
> > > This is a 64-bit install (8.3) on AIX 5.3
> >
> > 8.3.what?
> >
> > regards, tom lane
>
> I no longer have an AIX box, but I had similar problems with other
> applications that needed large amounts of memory. Some OS specific
> steps needed to be taken to allow normal users to allocate large
> blocks of memory. The information needed was in their on-line docs
> as I recall, but I do not remember the details. The executables may
> need to be built with specific options/flags to work.
>

AIX has other limits besides the ulimit, there for security purposes I
believe. 2GB per process is the default.

To OP - what is the size of the postgres process?
Are you using temp tables heavily or frequently in a given session?

I've seen the same issue on AIX before (64 bit build) reporting out of
memory on trivial request size. The issue was due to the use of temp
tables in a single session. PG does not release the memory for the temp
tables until the session ends. The postgres process grows up the the
2GB mark, then the final trivial request pushes it over the tipping
point, and you get the out of memory error.

--
Brad Nicholson 416-673-4106
Database Administrator, Afilias Canada Corp.

In response to

Browse pgsql-admin by date

  From Date Subject
Next Message Thorne, Francis 2010-02-16 16:04:41 Re: AIX - Out of Memory
Previous Message Bruce Momjian 2010-02-16 14:53:12 Re: New/obsolete configuration parameters