DB5.1_DEADLOCK(1) General Commands Manual DB5.1_DEADLOCK(1)
db5.1_deadlock - Detect and abort deadlocks
db5.1_deadlock [-Vv] [-a e | m | n | o | W | w | y] [-h home] [-L file]
The db5.1_deadlock utility traverses the database environment lock
region, and aborts a lock request each time it detects a deadlock or a
lock request that has timed out. By default, in the case of a deadlock,
a random lock request is chosen to be aborted.
This utility should be run as a background daemon, or the underlying
Berkeley DB deadlock detection interfaces should be called in some
other way, whenever there are multiple threads or processes accessing a
database and at least one of them is modifying it.
-a When a deadlock is detected, abort the locker:
m with the most locks
n with the fewest locks
o with the oldest lock
W with the most write locks
w with the fewest write locks
y with the youngest lock
When lock or transaction timeouts have been specified:
e abort any lock request that has timed out
-h Specify a home directory for the database environment; by
default, the current working directory is used.
-L Log the execution of the db5.1_deadlock utility to the specified
file in the following format, where ### is the process ID, and
the date is the time the utility was started.
db_deadlock: ### Wed Jun 15 01:23:45 EDT 1995
This file will be removed if the db5.1_deadlock utility exits
-t Check the database environment every sec seconds plus usec
microseconds to see if a process has been forced to wait for a
lock; if one has, review the database environment lock struc-
-V Write the library version number to the standard output, and
-v Run in verbose mode, generating messages each time the detector
If the -t option is not specified, db5.1_deadlock will run once and
The db5.1_deadlock utility uses a Berkeley DB environment (as described
for the -h option, the environment variable DB_HOME, or because the
utility was run in a directory containing a Berkeley DB environment).
In order to avoid environment corruption when using a Berkeley DB envi-
ronment, db5.1_deadlock should always be given the chance to detach
from the environment and exit gracefully. To cause db5.1_deadlock to
release all environment resources and exit cleanly, send it an inter-
rupt signal (SIGINT).
The db5.1_deadlock utility does not attempt to create the Berkeley DB
shared memory regions if they do not already exist. The application
which creates the region should be started first, and then, once the
region is created, the db5.1_deadlock utility should be started.
The DB_ENV->lock_detect method is the underlying method used by the
db_deadlock utility. See the db_deadlock utility source code for an
example of using DB_ENV->lock_detect in a IEEE/ANSI Std 1003.1 (POSIX)
The db5.1_deadlock utility exits 0 on success, and >0 if an error
If the -h option is not specified and the environment variable
DB_HOME is set, it is used as the path of the database home, as
described in DB_ENV->open.
Sleepycat Software, Inc. This manual page was created based on the HTML
documentation for db_deadlock from Sleepycat, by Thijs Kinkhorst
<firstname.lastname@example.org>, for the Debian system (but may be used by oth-
28 January 2005 DB5.1_DEADLOCK(1)