db_deadlock(1db)

db_deadlock1db

The db database deadlock detector

Usage

db_deadlock [-vw] [{-a m | o | y}] [-h home] [-L file] [-t sec]

Overview

The db_deadlock utility traverses the database lock structures and aborts a transaction each time it detects a deadlock. This utility should be run as a background daemon whenever multiple threads or processes are using locking. By default, a random transaction involved in the deadlock is aborted.

The options are as follows:

-a

When a deadlock is detected, abort the oldest (``o'') transaction, the youngest (``y'') transaction, or the transaction with the minimum number of locks (``m'').

-h

Specify a home directory for the database.

-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 starting running.

db_deadlock: ### Wed Jun 15 01:23:45 EDT 1995

This file will be removed if the db_deadlock utility exits gracefully.

-t

Initiate a pass over the database locks at least every sec seconds.

-v

Run in verbose mode, generating messages each time the detector runs.

-w

Make a single pass over the database locks every time a process is forced to wait for a lock.

At least one of the -t and -w options must be specified.

The db_deadlock utility attaches to DB shared memory regions. In order to avoid region corruption, it should always be given the chance to detach and exit gracefully. To cause db_deadlock to clean up after itself and exit, send it an interrupt signal (SIGINT).

The db_deadlock utility exits 0 on success, and >0 if an error occurs.

Environment

The following environment variables affect the execution of db_deadlock:

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_appinit(3).

Releases

3 releases since Debian 2.0 (Hamm); the text changed 2 times.

  1. 2.0
  2. 2.1
  3. 2.2

From libdb2-util 2:2.4.14-2.7.7.1.c in Debian 2.2 (Potato). Parsed by carta from the page's man source.