Обсуждение: worker took too long to start; cancelled

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

worker took too long to start; cancelled

От
Robert Fitzpatrick
Дата:
I have a FreeBSD server with Postfix that filters mail using
amavisd-maia+SA+ClamAV. It crashed when we received an SMTP attack that
traced back to a compromised user login and a flood a messages were sent
to this smarthost. After getting it back up, I find this in the logs...

Nov  4 08:09:50 esmtp postgres[769]: [6-1] WARNING:  worker took too
long to start; cancelled

I have this every minute prior to the crash about 5 or 6 times. However,
this server is not accessing a local database. All filtering is using a
production db server over our private network. This server was just
brought online with 6GB of memory using the PAE kernel option for
FreeBSD. I copied over a working pgsql configuration on our existing
production db server and some boot settings and wondering if memory or
memory settings may be the issue?

esmtp# cat /boot/loader.conf
#console="comconsole"
kern.ipc.semmni=32
kern.ipc.semmns=512
esmtp# cat /etc/sysctl.conf
# $FreeBSD: src/etc/sysctl.conf,v 1.8 2003/03/13 18:43:50 mux Exp $
#
#security.bsd.see_other_uids=0
# tuning for PostgreSQL
kern.ipc.shm_use_phys=1
kern.ipc.shmmax=1073741824
kern.ipc.shmall=262144
kern.ipc.semmsl=512
kern.ipc.semmap=256

Also, from postgresql.conf, here are my custom settings...

max_connections = 250
shared_buffers = 512MB
work_mem = 128MB
maintenance_work_mem = 256MB
max_fsm_pages = 179200
max_fsm_pages = 512000
wal_buffers = 256kB
checkpoint_segments = 100
effective_cache_size = 1028MB

Again, I'm wondering why the local postgresql was even involved since
the mail system does not use the localhost pg server for filtering.
Unless the error is related to the production db server it is hitting. I
did not find any errors isolated to this time period, but I do see the
following throughout those logs...

ERROR:  deadlock detected

As I mentioned, this server and the production db server both filter
using Maia Mailguard which is the only use of of pgsql on those servers.

--
Robert


Re: worker took too long to start; cancelled

От
Alvaro Herrera
Дата:
Robert Fitzpatrick wrote:

> After getting it back up, I find this in the logs...
>
> Nov  4 08:09:50 esmtp postgres[769]: [6-1] WARNING:  worker took too
> long to start; cancelled
>
> I have this every minute prior to the crash about 5 or 6 times.

This means that an autovacuum worker could not start in a certain period
of time.  I've seen this happen under heavy load.  It is not a fatal
problem; it only means one autovacuum round was not completed.

If your system is seeing this problem all the time (as opposed to only
when the system is so heavily loaded that it's about to crash) then you
should probably throw more hardware at it.  Otherwise it's ignorable.
(Maybe we should improve the error message to make it less scary.)


> I did not find any errors isolated to this time period, but I do see
> the following throughout those logs...
>
> ERROR:  deadlock detected

This is unrelated.

--
Alvaro Herrera                                http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support