From: | Don Drake <dondrake(at)gmail(dot)com> |
---|---|
To: | pgsql-performance(at)postgresql(dot)org |
Subject: | Postgres stopped running (shmget failed) |
Date: | 2005-01-25 15:10:50 |
Message-ID: | 6c21003b05012507104989efed@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-performance |
My db server is running under high load recently and the number of
connections during the morning hours is actually very high.
This morning I found the postgres not running and the following in my log file:
DETAIL: The postmaster has commanded this server process to roll back
the current transaction and exit, because another server process
exited abnormally and possibly corrupted shared memory.
HINT: In a moment you should be able to reconnect to the database and
repeat your command.
2005-01-25 01:38:00 WARNING: terminating connection because of crash
of another server process
DETAIL: The postmaster has commanded this server process to roll back
the current transaction and exit, because another server process
exited abnormally and possibly corrupted shared memory.
HINT: In a moment you should be able to reconnect to the database and
repeat your command.
2005-01-25 01:38:05 WARNING: terminating connection because of crash
of another server process
DETAIL: The postmaster has commanded this server process to roll back
the current transaction and exit, because another server process
exited abnormally and possibly corrupted shared memory.
HINT: In a moment you should be able to reconnect to the database and
repeat your command.
2005-01-25 01:38:16 LOG: all server processes terminated; reinitializing
2005-01-25 01:38:22 FATAL: could not create shared memory segment:
Cannot allocate memory
DETAIL: Failed system call was shmget(key=5432001, size=273383424, 03600).
HINT: This error usually means that PostgreSQL's request for a shared
memory segment exceeded available memory or swap space. To reduce the
request size (currently 273383424 bytes), reduce PostgreSQL's
shared_buffers parameter (currently 32768) and/or its max_connections
parameter (currently 40).
The PostgreSQL documentation contains more information about
shared memory configuration.
2005-01-25 08:00:07 LOG: database system was interrupted at
2005-01-25 00:30:15 CST
I'm confused to as to what is the problem. My shared memory kernel
setting are as follows:
[root(at)katie data]# tail /etc/sysctl.conf
# Controls whether core dumps will append the PID to the core filename.
# Useful for debugging multi-threaded applications.
kernel.core_uses_pid = 1
# For POSTGRESQL -Drake 8/1/04
kernel.shmall = 2097152
kernel.shmmax = 1073741824
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
[root(at)katie data]# cat /proc/sys/kernel/shmall
2097152
[root(at)katie data]# cat /proc/sys/kernel/shmmax
1073741824
Here's my ipcs output after restarting the server:
[root(at)katie data]# ipcs
------ Shared Memory Segments --------
key shmid owner perms bytes nattch status
0x0052e2c1 196608 postgres 600 273383424 11
------ Semaphore Arrays --------
key semid owner perms nsems
0x0052e2c1 589824 postgres 600 17
0x0052e2c2 622593 postgres 600 17
0x0052e2c3 655362 postgres 600 17
------ Message Queues --------
key msqid owner perms used-bytes messages
I have 2GB of RAM, is this telling me I need more RAM? There are some
other processes running on this server besides postgres.
Thanks.
-Don
--
Donald Drake
President
Drake Consulting
http://www.drakeconsult.com/
312-560-1574
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2005-01-25 15:41:53 | Re: PostgreSQL clustering VS MySQL clustering |
Previous Message | Tatsuo Ishii | 2005-01-25 14:19:17 | Re: PostgreSQL clustering VS MySQL clustering |