Lucio Andres Perez wrote:
> 
> Hi Tim
> 
> I did it as you said me and I got the following results when the database
> coming down:
> 
> [postgres@postgres pgsql]$ ps aux | grep postmaster
> postgres  6616  0.0  0.0     0     0  p4 Z    20:05   0:00 (postmaster
> <zombie>)
> postgres  6650  0.0  0.0     0     0  p4 Z    20:11   0:00 (postmaster
> <zombie>)
> postgres  6654  0.1  0.0     0     0  p4 Z    20:12   0:00 (postmaster
> <zombie>)
> postgres  6655  0.0  0.0     0     0  p4 Z    20:12   0:00 (postmaster
> <zombie>)
> postgres  6659  0.0  0.0     0     0  p4 Z    20:13   0:00 (postmaster
> <zombie>)
> postgres  6662  0.0  0.0     0     0  p4 Z    20:14   0:00 (postmaster
> <zombie>)
> postgres  6663  0.0  0.0     0     0  p4 Z    20:14   0:00 (postmaster
> <zombie>)
> postgres  6664  0.1  0.0     0     0  p4 Z    20:14   0:00 (postmaster
> <zombie>)
> postgres  6666  0.0  0.0     0     0  p4 Z    20:15   0:00 (postmaster
> <zombie>)
> postgres  6667  0.0  0.0     0     0  p4 Z    20:15   0:00 (postmaster
> <zombie>)
> postgres  6668  0.0  0.0     0     0  p4 Z    20:15   0:00 (postmaster
> <zombie>)
> postgres  6669  0.1  0.0     0     0  p4 Z    20:16   0:00 (postmaster
> <zombie>)
> postgres  6670  0.0  0.0     0     0  p4 Z    20:16   0:00 (postmaster
> <zombie>)
> postgres  6671  0.0  0.0     0     0  p4 Z    20:16   0:00 (postmaster
> <zombie>)
> postgres  6672  0.2  0.0     0     0  p4 Z    20:16   0:00 (postmaster
> <zombie>)
> postgres  6673  0.2  0.0     0     0  p4 Z    20:16   0:00 (postmaster
> <zombie>)
> postgres  6674  0.0  0.0     0     0  p4 Z    20:17   0:00 (postmaster
> <zombie>)
> postgres  6675  0.2  0.0     0     0  p4 Z    20:17   0:00 (postmaster
> <zombie>)
> postgres  6676  0.5  0.0     0     0  p4 Z    20:17   0:01 (postmaster
> <zombie>)
> postgres  6677  0.0  0.0     0     0  p4 Z    20:18   0:00 (postmaster
> <zombie>)
> postgres  6678  0.0  0.0     0     0  p4 Z    20:18   0:00 (postmaster
> <zombie>)
> postgres  6679  0.2  0.0     0     0  p4 Z    20:18   0:00 (postmaster
> <zombie>)
> postgres  6680  0.0  0.0     0     0  p4 Z    20:18   0:00 (postmaster
> <zombie>)
> postgres  6681  0.0  0.0     0     0  p4 Z    20:18   0:00 (postmaster
> <zombie>)
> postgres  6685  0.0  0.0     0     0  p4 Z    20:18   0:00 (postmaster
> <zombie>)
> postgres  6686  0.6  0.0     0     0  p4 Z    20:18   0:01 (postmaster
> <zombie>)
> postgres  6687  0.0  0.0     0     0  p4 Z    20:19   0:00 (postmaster
> <zombie>)
> postgres  6688  0.0  0.0     0     0  p4 Z    20:19   0:00 (postmaster
> <zombie>)
> postgres  6689  0.6  0.0     0     0  p4 Z    20:19   0:00 (postmaster
> <zombie>)
> postgres  6690  0.0  0.0     0     0  p4 Z    20:19   0:00 (postmaster
> <zombie>)
> postgres  6691  0.0  0.0     0     0  p4 Z    20:19   0:00 (postmaster
> <zombie>)
> postgres  6692  0.9  0.0     0     0  p4 Z    20:19   0:01 (postmaster
> <zombie>)
> postgres  6693  0.0  0.0     0     0  p4 Z    20:20   0:00 (postmaster
> <zombie>)
> postgres  6694  0.1  0.0     0     0  p4 Z    20:20   0:00 (postmaster
> <zombie>)
> postgres  6701  0.0  0.1   840   352  p4 S    20:21   0:00 grep postmaster
> 
> [postgres@postgres data]$ more pg.stderr
> ERROR:  postmaster: StreamConnection: accept: Invalid argument
> 
> I think that to understand this error could be very valuable in order to find
> a solution.
> 
> The pg.stdout was empty all time.
> 
> I hope you can help me.
> 
> Pd/ the version of my postgres is  6.4.2
> 
> Thanks a lot.
> 
> Tim Holloway wrote:
> 
> > Something's funny here. Unless you built a backend with
> > an override on the default max backend count,
> > you should be able to create no more than 32 backend
> > processes. Which is possible also if you installed an RPM
> > version and it's built for more than 32. Otherwise you should see
> > the message "Sorry, too many clients already" when making the
> > excess connections.
> >
> > Could you provide the PostgresSQL version number? Also it
> > would  help if you captured stdout and stderr and forwarded
> > them. Assuming you're using the Red Hat Control Panel to start
> > and stop the server, look at the postgres script in /etc/rc.d/init.d
> >
> > You should see something like:
> >
> > su postgres -c "postmaster -i -D /var/lib/pgsql"
> >
> > Save the old version and change to
> >
> > su postgres -c "postmaster -i -D /var/lib/pgsql >/var/lib/pgsql/pg.stdout
> >  >&/var lib/pgsql/pg.stderr"
> >
> > Then start up the system, shut it down. Revert to the old
> > startup script and send the pg.stdout and pg.stderr files.
> >
> >    regards,
> >
> >        Tim Holloway
> >
> > Lucio Andres Perez wrote:
> > >
> > > Hi everyone,
> > >
> > > Maybe this could be a newbie trouble for somebody, but Iīve tried all I
> > > can and I havenīt found the source of  my problem...
> > >
> > > I have a PII-400Mhz 192Mb RedHat 5.2 ( I know, itīs a little old )
> > > running only postgresql 6.4, the apache/php servers are running in other
> > > host.
> > >
> > > the problem is this:  I start the postmaster whith the command
> > > "postmaster -i -B 256 - S" and it begins to create child process so
> > > that, when there are more than 30 process, the system is coming down,
> > > with  'segmentation fault' error messages,  of course, Iīve to wait for
> > > a while, then I do a  'ps aux' to see what is going on, and I see all
> > > the process in ZOMBIE status !! and the memory is almost full,  So Iīve
> > > to kill all these processes and restart the postmaster...
> > >
> > > How do I tune the postmaster so that it canīt use all the systemīs
> > > memory or at least, it can stand for more load. (in this case, load
> > > means a lot of simultaneous conexions)
> > >
> > > Please, I thank anything you can say me ...
> > >
> > > --
> > > Eng. Lucio Andres Perez
> > > NewMedia Director
> > > Telesat S.A.
> > > Cali-Colombia-SouthAmerica
> > > http://www.telesat.com.co
> > >
> > > ************
> 
> --
> Eng. Lucio Andres Perez
> NewMedia Director
> Telesat S.A.
> http://www.telesat.com.co

Hmmmm. Some things I would look at:

1. Are you certain that the segmentation faults only happen AFTER
you hit 30 connections? It's possible that the reaper isn't
completely cleaning up when there's a fault and the system's then
losing track.

2. Is it possible for you to try with "-S 30"? Just to make sure
that it isn't something else masquerading as that problem?

3. Is a core file being produced? Maybe someone here can dissect
it for you.

4. Also, I think I'd run disk and RAM tests on the machine, since
there's apparent corruption in the frontend-to-backend messaging.

Based on your activity levels, you may need a customized server with
a higher backend capacity. The absolute limit is 1024, but at that
level, you're consuming a fair amount of cross-process memory and
semaphores.

It's not that hard to build PostgreSQL on a Red Hat system - the
biggest problem for me had to do with understanding that the RPM uses
/var/lib instead of /usr/local/pgsql for its directory paths. The
default configure needs g++ to build the C++ support modules.

Hope this helps!

  regards,

      Tim Holloway

************

Reply via email to