You are on page 1of 2

How to Enable Deadman Kernel Code in Solaris 8 and Newer to Force a Kernel Panic During a Hang [ID 1004530.

1] Modified 18-JUL-2011 Type HOWTO Migrated ID 206274 Status PU BLISHED Applies to: Oracle Solaris Express - Version: 2010.11 and later [Release: 11.0 and later ] Solaris SPARC Operating System - Version: 8.0 and later [Release: 8.0 and lat er] Solaris x64/x86 Operating System - Version: 8 6/00 U1 and later [Release: 8.0 and later] All Platforms Goal The Solaris Operating System contains a deadman timer. The deadman timer allows the OS to force a kernel panic in the event that the ke rnel 'clock' thread is not able to run. Note that are are many other conditions that can lead to a system hang, or the a ppearance of a system hang, that will not cause the deadman timer to fire. Analysis of the resulting crash dump can give information on the cause of the ha ng. The deadman timer is implemented in different ways on different hardware pla tforms and different OS releases. Some combinations of platform and OS allow you to configure the time between a hang occurring and a panic being forced. This document explains how to enable the deadman timer and how to configure the time taken until the deadman code forces a panic. It also gives pointers to how to collect information which can be used to analyze why the system hung. Solution 1. Enable savecore: For Solaris 7 and later releases, see Document 1004803.1 Collecting System Crash Dump Images on Solaris[TM] 7 and later 2. Enable the deadman timer within the kernel by adding the following line to /e tc/system, then reboot the system: set snooping=1 NOTE: On Solaris[TM] 10 Operating System the deadman kernel can only be enabled globally all zones will inherit the setting from the global zone. 3. Specify the time after which the deadman timer should fire: For Solaris[TM] 8 Operating System and later: The deadman code is executed once per second. The snoop_interval tunable parame ter has a default value of 50000000 (fifty million microseconds). This correspon ds to a deadman timer of 50 seconds. There is normally no need or reason to cha nge this from the default on Solaris 8 and later. To set the deadman timer to 90 seconds specify the following in /etc/system, th en reboot the system: set snoop_interval = 90000000 This results in: 90000000 (ninety million) microseconds = 90 seconds

NOTE: On a Sun Fire[TM]12K/E25K server additional steps will also need to be per formed. Please contact Oracle support for more details.

4. When the next hang occurs, the deadman timer should be triggered: On Solaris 8 and newer releases a panic is initiated creating a corefile with a panic string of deadman: timed out after %d seconds of clock inactivity On reboot, the system dump will be saved to a "vmcore.*" file in directory /var/ crash/`uname -n`. To discuss this information further with Oracle experts and industry peers, we e ncourage you to review, join or start a discussion in the My Oracle Support Comm unity, Oracle Solaris Kernel Community.

Show Related Information Related Products * Sun Microsystems > Operating Systems > Solaris Operating System > Solaris SPARC Operating System * Sun Microsystems > Operating Systems > Solaris Operating System > Oracle S olaris Express * Sun Microsystems > Operating Systems > Solaris Operating System > Solaris x64/x86 Operating System Keywords DYNAMIC; HANGING; KADB; OVERVIEW; SAVECORE; SNOOP_INTERVAL; UNRESPONSIVE Back to topBack to top Copyright (c) 2007, 2010, Oracle. All rights reserved. Legal Notices and Terms o f Use | Privacy Statement Rate this document Article Rating Rate this document Excellent Good Poor Did this document help you? Yes No Just browsing How easy was it to find this document? Very easy Somewhat easy Not easy Comments Provide feedback for this article. Please use 'Contact Us' for other feedback. Important Note: this feedback may be anonymously visible to other customers unti l processed by Oracle Support. Cancel