On Apr 24, 3:53 pm, thombr...@xxxxxxxxx (Thom Brown) wrote: > On 24 April 2010 18:48, Sam <s...@xxxxxxxxxxxxx> wrote: > > > > > > > Hi, > > > I am a web developer, I've been using postgesql for a few years but > > administratively I am a novice. > > > A particular web application I am working has a staging version > > running one a vps, and a production version running on another vps. > > They both get about the same usage, but the production version keeps > > crashing and has to be re-started daily for the last couple days. The > > log file at the time of crash looks like this: > > > LOG: could not accept new connection: Cannot allocate memory > > LOG: select() failed in postmaster: Cannot allocate memory > > FATAL: semctl(2457615, 0, SETVAL, 0) failed: Invalid argument > > LOG: logger shutting down > > LOG: database system was interrupted at 2010-04-24 09:33:39 PDT > > > It ran out of memory. > > > I am looking for a way to track down what is actually causing the > > memory shortage and how to prevent it or increase the memory > > available. > > > The vps in question is a media temple DV running CentOS and postgres > > 8.1.18 > > > Could you provide some more information? What do you get if you run > > "sysctl -a | grep kernel.shm" and "sysctl -a | grep sem"? And what are you > developing in which connects to the database? Are you using persistent > connections? And how many connections to you estimate are in use? What > have you got max_connections and shared_buffers in your postgresql.conf > file? And how much memory does your VPS have? > > Thom This application is php5/Zend Framework and using Doctrine ORM which manages the database connections, but they aren't persistent. max_connections is 100 and shared_buffers is 1000 What is the best way to profile the exact number of connections (for future reference)? Right now, there is almost no site usage, the site is not launched yet. The staging version of the site has been running for months without issues. There is a cron that runs every three minutes and checks a users account on another web service and tracks that activity. -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general