Обсуждение: AIX 5.3 Out of Memory Error - 64-bit

Поиск
Список
Период
Сортировка

AIX 5.3 Out of Memory Error - 64-bit

От
"Thorne, Francis"
Дата:

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
__________________________________________________

Re: AIX 5.3 Out of Memory Error - 64-bit

От
Scott Marlowe
Дата:
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.

Re: AIX 5.3 Out of Memory Error - 64-bit

От
Brad Nicholson
Дата:
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.



Re: AIX 5.3 Out of Memory Error - 64-bit

От
"Thorne, Francis"
Дата:
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
__________________________________________________