db_deadlock(1) BSD General Commands Manual db_deadlock(1)
NAME
db_deadlock
SYNOPSIS
db_deadlock [-Vv] [-a e | m | n | o | w | y] [-h home] [-L file]
[-t sec.usec]
DESCRIPTION
The db_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 ran-
dom 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 data-
base and at least one of them is modifying it.
The options are as follows:
-a
When a deadlock is detected, abort the locker:
m with the greatest number of locks
n with the fewest number of locks
o with the oldest locker ID
w with the fewest number of write locks
y with the youngest locker ID
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 db_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 db_deadlock utility exits gracefully.
-t
Check the database environment every sec seconds plus usec microsec-
onds to see if a process has been forced to wait for a lock; if one
has, review the database environment lock structures.
-V
Write the library version number to the standard output, and exit.
-v
Run in verbose mode, generating messages each time the detector runs.
If the -t option is not specified, db_deadlock will run once and exit.
The db_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 environment,
db_deadlock should always be given the chance to detach from the environ-
ment and exit gracefully. To cause db_deadlock to release all environment
resources and exit cleanly, send it an interrupt signal (SIGINT).
The db_deadlock utility does not attempt to create the Berkeley DB shared
memory regions if they do not already exist. The application which cre-
ates the region should be started first, and then, once the region is
created, the db_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 exam-
ple of using DB_ENV->lock_detect in a IEEE/ANSI Std 1003.1 (POSIX) envi-
ronment.
The db_deadlock utility exits 0 on success, and >0 if an error occurs.
ENVIRONMENT
DB_HOME 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.
SEE ALSO
db_archive(1), db_checkpoint(1), db_dump(1), db_load(1), db_printlog(1),
db_recover(1), db_stat(1), db_upgrade(1), db_verify(1)
Darwin December 3, 2003 Darwin
Mac OS X 10.6Server - Generated Wed Apr 14 06:05:00 CDT 2010
