watchdog timeout for pwait/rc.shutdown

Guido Falsi mad at madpilot.net
Thu Jul 14 10:34:04 UTC 2011


On Thu, Jul 14, 2011 at 11:24:04AM +0100, Tom Evans wrote:
> 2011/7/14 Subbsd <subbsd at gmail.com>:
> > Hi
> >
> > Tell me please, is it possible to change the behavior of shutdown
> > sequence to avoid work of kill process (or increase timeout).
> >
> > ??ot always process can not react to signals and stop - for example,
> > heavy MySQL server databases or databases/redis - can not keep up with
> > 30 seconds to correct shutdown.
> > In my example noSQL product - redis holds a 10 GB RAM memory and when
> > stop it just did not have time to reset the state to disk when i stop
> > process or jail with redis.
> > As result ive have in /var/db/redis "dump.tmp.XX" - broken DB about ~3
> > Gb instead of 10 GB.
> >
> >
> > Waiting for PIDS: 47924
> > 30 second watchdog timeout expired. Shutdown terminated.
> > Thu Jul 14 16:24:30 MSD 2011
> > Killed
> >
> > PS: I may be mistaken but I think this problem did not exist before
> > PS2: i have RELENG_8 and HEAD version of FreeBSD
> > PS3: Thanks in advance
> 
> I have roughly the same problem when I shut down my laptop, squid
> takes at least 1 minute to shut down, so if I shutdown or restart
> without stopping squid first, then all my processes just get killed
> rather than shutdown cleanly by their rc script. An option to
> vary/disable the timeout would be welcome.

squid by default waits 30 seconds before closing to give time to clients
to close their connections.

This is a very conservative value needed for big proxies. If you're
using squid just to serve the local machine or a not so big network you
can greatly lower this value, setting it to 5 or 10 seconds, or even
less and have squid take much less time to stop.

the configuration directive you should look at is "shutdown_lifetime"

-- 
Guido Falsi <mad at madpilot.net>


More information about the freebsd-stable mailing list