Man Linux: Main Page and Category List


       db4.6_deadlock - Detect and abort deadlocks


       db4.6_deadlock [-Vv] [-a e | m | n | o | W | w | y] [-h home] [-L file]
       [-t sec.usec]


       The db4.6_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 db4.6_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 db4.6_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

       -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, db4.6_deadlock will run once and

       The db4.6_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, db4.6_deadlock should always be given the chance to detach
       from  the  environment and exit gracefully.  To cause db4.6_deadlock to
       release  all  environment  resources  and  exit  cleanly,  send  it  an
       interrupt signal (SIGINT).

       The  db4.6_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 db4.6_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  db4.6_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
       <>, for the  Debian  system  (but  may  be  used  by

                                28 January 2005