Обсуждение: AIX 5.3 Out of Memory Error - 64-bit
Hi All
I'm looking for some help with regards a postgres 64-bit install I set up on a IBM AIX machine.
I used the following install options whien I installed postgres
BINDIR = /usr/local/pgsql837-64/bin
DOCDIR = /usr/local/pgsql837-64/doc
INCLUDEDIR = /usr/local/pgsql837-64/include
PKGINCLUDEDIR = /usr/local/pgsql837-64/include
INCLUDEDIR-SERVER = /usr/local/pgsql837-64/include/server
LIBDIR = /usr/local/pgsql837-64/lib
PKGLIBDIR = /usr/local/pgsql837-64/lib
LOCALEDIR =
MANDIR = /usr/local/pgsql837-64/man
SHAREDIR = /usr/local/pgsql837-64/share
SYSCONFDIR = /usr/local/pgsql837-64/etc
PGXS = /usr/local/pgsql837-64/lib/pgxs/src/makefiles/pgxs.mk
CONFIGURE = '--prefix=/usr/local/pgsql837-64' '--with-pgport=5422' '--enable-thr
ead-safety' '--enable-integer-datetimes' 'CC=gcc -maix64' 'LDFLAGS=-Wl,-bbigtoc'
CC = gcc -maix64
CPPFLAGS =
CFLAGS = -O2 -Wall -Wmissing-prototypes -Wpointer-arith -Winline -Wdeclaration-a
fter-statement -Wendif-labels -fno-strict-aliasing -fwrapv
CFLAGS_SL =
LDFLAGS = -Wl,-bbigtoc -Wl,-blibpath:/usr/local/pgsql837-64/lib:/usr/lib:/lib
LDFLAGS_SL = -Wl,-bnoentry -Wl,-H512 -Wl,-bM:SRE
LIBS = -lpgport -lz -lreadline -lld -lm
VERSION = PostgreSQL 8.3.7
And the spec of the AIX machine is a follows.
AIX 5.3
2x Power 5 CPU's
6GB RAM
If I run postgres with the standard postgresql.conf install then all queries run (albiet sometimes slower than i'd expect). However if I start to change some of the memory settings for example shared_buffers, temp_buffers, work_mem, maintenance_workmem above 128-256MB and run a large query or create a large indexes i get the error below
Out of Memory
Failed on request of size 167873 (this value will change)
Any thoughts or ideas would be greatly appreciated
Thanks
Fran
___________________________________________________
This email is intended for the named recipient. The information contained
in it is confidential. You should not copy it for any purposes, nor
disclose its contents to any other party. If you received this email
in error, please notify the sender immediately via email, and delete
it from your computer.
Any views or opinions presented are solely those of the author and do not
necessarily represent those of the company.
Cromwell Tools Limited, PO Box 14, 65 Chartwell Drive
Wigston, Leicester LE18 1AT. Tel 0116 2888000
Registered in England and Wales, Reg No 00986161
VAT GB 115 5713 87 900
__________________________________________________
On Fri, Dec 11, 2009 at 6:40 AM, Thorne, Francis <thornef@cromwell.co.uk> wrote: > Hi All > > I'm looking for some help with regards a postgres 64-bit install I set up > on a IBM AIX machine. > > I used the following install options whien I installed postgres > > BINDIR = > /usr/local/pgsql837-64/bin > DOCDIR = > /usr/local/pgsql837-64/doc > INCLUDEDIR = > /usr/local/pgsql837-64/include > PKGINCLUDEDIR = > /usr/local/pgsql837-64/include > INCLUDEDIR-SERVER = > /usr/local/pgsql837-64/include/server > LIBDIR = > /usr/local/pgsql837-64/lib > PKGLIBDIR = > /usr/local/pgsql837-64/lib > LOCALEDIR > = > MANDIR = > /usr/local/pgsql837-64/man > SHAREDIR = > /usr/local/pgsql837-64/share > SYSCONFDIR = > /usr/local/pgsql837-64/etc > PGXS = > /usr/local/pgsql837-64/lib/pgxs/src/makefiles/pgxs.mk > CONFIGURE = '--prefix=/usr/local/pgsql837-64' '--with-pgport=5422' > '--enable-thr > ead-safety' '--enable-integer-datetimes' 'CC=gcc -maix64' > 'LDFLAGS=-Wl,-bbigtoc' > CC = gcc > -maix64 > CPPFLAGS > = > CFLAGS = -O2 -Wall -Wmissing-prototypes -Wpointer-arith -Winline > -Wdeclaration-a > fter-statement -Wendif-labels -fno-strict-aliasing > -fwrapv > CFLAGS_SL > = > LDFLAGS = -Wl,-bbigtoc > -Wl,-blibpath:/usr/local/pgsql837-64/lib:/usr/lib:/lib > LDFLAGS_SL = -Wl,-bnoentry -Wl,-H512 > -Wl,-bM:SRE > LIBS = -lpgport -lz -lreadline -lld > -lm > VERSION = PostgreSQL 8.3.7 > > And the spec of the AIX machine is a follows. > > AIX 5.3 > 2x Power 5 CPU's > 6GB RAM > > If I run postgres with the standard postgresql.conf install then all queries > run (albiet sometimes slower than i'd expect). However if I start to change > some of the memory settings for example shared_buffers, temp_buffers, > work_mem, maintenance_workmem above 128-256MB and run a large query or > create a large indexes i get the error below > > Out of Memory > Failed on request of size 167873 (this value will change) > > Any thoughts or ideas would be greatly appreciated Don't set work_mem so high? shared_buffers at 256M is no big deal. work_mem at 256M is per sort. So a dozen users each running queries with 3 or 4 sorts could chew up 6G pretty fast.
On Fri, 2009-12-11 at 11:18 -0700, Scott Marlowe wrote: > On Fri, Dec 11, 2009 at 6:40 AM, Thorne, Francis <thornef@cromwell.co.uk> wrote: > > Hi All > > > > I'm looking for some help with regards a postgres 64-bit install I set up > > on a IBM AIX machine. > > > > I used the following install options whien I installed postgres > > > > BINDIR = > > /usr/local/pgsql837-64/bin > > DOCDIR = > > /usr/local/pgsql837-64/doc > > INCLUDEDIR = > > /usr/local/pgsql837-64/include > > PKGINCLUDEDIR = > > /usr/local/pgsql837-64/include > > INCLUDEDIR-SERVER = > > /usr/local/pgsql837-64/include/server > > LIBDIR = > > /usr/local/pgsql837-64/lib > > PKGLIBDIR = > > /usr/local/pgsql837-64/lib > > LOCALEDIR > > = > > MANDIR = > > /usr/local/pgsql837-64/man > > SHAREDIR = > > /usr/local/pgsql837-64/share > > SYSCONFDIR = > > /usr/local/pgsql837-64/etc > > PGXS = > > /usr/local/pgsql837-64/lib/pgxs/src/makefiles/pgxs.mk > > CONFIGURE = '--prefix=/usr/local/pgsql837-64' '--with-pgport=5422' > > '--enable-thr > > ead-safety' '--enable-integer-datetimes' 'CC=gcc -maix64' > > 'LDFLAGS=-Wl,-bbigtoc' > > CC = gcc > > -maix64 > > CPPFLAGS > > = > > CFLAGS = -O2 -Wall -Wmissing-prototypes -Wpointer-arith -Winline > > -Wdeclaration-a > > fter-statement -Wendif-labels -fno-strict-aliasing > > -fwrapv > > CFLAGS_SL > > = > > LDFLAGS = -Wl,-bbigtoc > > -Wl,-blibpath:/usr/local/pgsql837-64/lib:/usr/lib:/lib > > LDFLAGS_SL = -Wl,-bnoentry -Wl,-H512 > > -Wl,-bM:SRE > > LIBS = -lpgport -lz -lreadline -lld > > -lm > > VERSION = PostgreSQL 8.3.7 > > > > And the spec of the AIX machine is a follows. > > > > AIX 5.3 > > 2x Power 5 CPU's > > 6GB RAM > > > > If I run postgres with the standard postgresql.conf install then all queries > > run (albiet sometimes slower than i'd expect). However if I start to change > > some of the memory settings for example shared_buffers, temp_buffers, > > work_mem, maintenance_workmem above 128-256MB and run a large query or > > create a large indexes i get the error below > > > > Out of Memory > > Failed on request of size 167873 (this value will change) > > > > Any thoughts or ideas would be greatly appreciated > > Don't set work_mem so high? shared_buffers at 256M is no big deal. > work_mem at 256M is per sort. So a dozen users each running queries > with 3 or 4 sorts could chew up 6G pretty fast. AIX also sets a 2GB limit per process by default - security policy I believe (not 100% sure of the exact details). I've hit this on 64bit AIX 5.3. -- Brad Nicholson 416-673-4106 Database Administrator, Afilias Canada Corp.
Thanks for the information both of you, I'll look into your suggestions. Do the switches I've used for the 64-bit installs look to be o.k ? -----Original Message----- From: Brad Nicholson [mailto:bnichols@ca.afilias.info] Sent: 11 December 2009 19:35 To: Scott Marlowe Cc: Thorne, Francis; pgsql-admin@postgresql.org Subject: Re: [ADMIN] AIX 5.3 Out of Memory Error - 64-bit On Fri, 2009-12-11 at 11:18 -0700, Scott Marlowe wrote: > On Fri, Dec 11, 2009 at 6:40 AM, Thorne, Francis <thornef@cromwell.co.uk> wrote: > > Hi All > > > > I'm looking for some help with regards a postgres 64-bit install I set up > > on a IBM AIX machine. > > > > I used the following install options whien I installed postgres > > > > BINDIR = > > /usr/local/pgsql837-64/bin > > DOCDIR = > > /usr/local/pgsql837-64/doc > > INCLUDEDIR = > > /usr/local/pgsql837-64/include > > PKGINCLUDEDIR = > > /usr/local/pgsql837-64/include > > INCLUDEDIR-SERVER = > > /usr/local/pgsql837-64/include/server > > LIBDIR = > > /usr/local/pgsql837-64/lib > > PKGLIBDIR = > > /usr/local/pgsql837-64/lib > > LOCALEDIR > > = > > MANDIR = > > /usr/local/pgsql837-64/man > > SHAREDIR = > > /usr/local/pgsql837-64/share > > SYSCONFDIR = > > /usr/local/pgsql837-64/etc > > PGXS = > > /usr/local/pgsql837-64/lib/pgxs/src/makefiles/pgxs.mk > > CONFIGURE = '--prefix=/usr/local/pgsql837-64' '--with-pgport=5422' > > '--enable-thr > > ead-safety' '--enable-integer-datetimes' 'CC=gcc -maix64' > > 'LDFLAGS=-Wl,-bbigtoc' > > CC = gcc > > -maix64 > > CPPFLAGS > > = > > CFLAGS = -O2 -Wall -Wmissing-prototypes -Wpointer-arith -Winline > > -Wdeclaration-a > > fter-statement -Wendif-labels -fno-strict-aliasing > > -fwrapv > > CFLAGS_SL > > = > > LDFLAGS = -Wl,-bbigtoc > > -Wl,-blibpath:/usr/local/pgsql837-64/lib:/usr/lib:/lib > > LDFLAGS_SL = -Wl,-bnoentry -Wl,-H512 > > -Wl,-bM:SRE > > LIBS = -lpgport -lz -lreadline -lld > > -lm > > VERSION = PostgreSQL 8.3.7 > > > > And the spec of the AIX machine is a follows. > > > > AIX 5.3 > > 2x Power 5 CPU's > > 6GB RAM > > > > If I run postgres with the standard postgresql.conf install then all queries > > run (albiet sometimes slower than i'd expect). However if I start to change > > some of the memory settings for example shared_buffers, temp_buffers, > > work_mem, maintenance_workmem above 128-256MB and run a large query or > > create a large indexes i get the error below > > > > Out of Memory > > Failed on request of size 167873 (this value will change) > > > > Any thoughts or ideas would be greatly appreciated > > Don't set work_mem so high? shared_buffers at 256M is no big deal. > work_mem at 256M is per sort. So a dozen users each running queries > with 3 or 4 sorts could chew up 6G pretty fast. AIX also sets a 2GB limit per process by default - security policy I believe (not 100% sure of the exact details). I've hit this on 64bit AIX 5.3. -- Brad Nicholson 416-673-4106 Database Administrator, Afilias Canada Corp. ___________________________________________________ This email is intended for the named recipient. The information contained in it is confidential. You should not copy it for any purposes, nor disclose its contents to any other party. If you received this email in error, please notify the sender immediately via email, and delete it from your computer. Any views or opinions presented are solely those of the author and do not necessarily represent those of the company. Cromwell Tools Limited, PO Box 14, 65 Chartwell Drive Wigston, Leicester LE18 1AT. Tel 0116 2888000 Registered in England and Wales, Reg No 00986161 VAT GB 115 5713 87 900 __________________________________________________