Solaris のシステム管理

クラッシュダンプの有効化と無効化

システムにクラッシュダンプを保存させるには、次の手順に従ってください。

システムにクラッシュダンプを保存させないようにするには、この逆の手順に従います。

クラッシュダンプディレクトリを作成する方法

  1. スーパーユーザーになります。

  2. /var/crash ディレクトリを作成します。

    # mkdir /var/crash
    

  3. /var/crash ディレクトリに移動します。

    # cd /var/crash
    
  4. システム名でディレクトリを作成します。

    # mkdir system-name
    

    system-name

    クラッシュダンプファイルを保存するシステム 

  5. ディレクトリが作成されていることを確認します。

    # ls system-name
    

例 - クラッシュダンプファイルを保存するディレクトリを作成する

次の例は、システム saturn のクラッシュダンプファイルを保存するディレクトリを作成する方法を示しています。

# mkdir /var/crash
# cd /var/crash
# mkdir saturn
# ls saturn

クラッシュダンプファイル用の容量を確保する方法

  1. 表 69-1 に示している必要な作業を完了していることを確認します。

  2. スーパーユーザーになります。

  3. /var/crash/system-name ディレクトリに移動します。

    # cd /var/crash/system-name
    

    system-name

    クラッシュダンプファイルを保存するシステム 

  4. 任意のエディタで、クラッシュダンプ用に確保しておく最小利用可能空き領域の最小値を指定する数 (単位はキロバイト) を含む、minfree という名前のファイルを作成します。

  5. ファイルを終了して、変更を保存します。

例 - クラッシュダンプファイル用に容量を確保する

次の例は、システム saturn のクラッシュダンプファイルを保存するための、500K バイトの利用可能な空き領域を確保する、minfree ファイルの内容を示しています。

$ more /var/crash/saturn/minfree
500

クラッシュダンプファイルを有効にする方法

  1. 表 69-1 に示している必要な作業を完了していることを確認します。

  2. スーパーユーザーになります。

  3. 任意のエディタで、/etc/init.d/sysetup ファイルを編集し、クラッシュダンプを有効にする行の先頭からコメント記号 (#) を削除して、これらの行を有効にします。

  4. 変更を保存し、編集を終了します。

例 - クラッシュダンプファイルを有効にする

次の例は、クラッシュダンプを有効にするように編集した /etc/init.d/sysetup ファイルの該当セクションを示しています。

##
## Default is to not do a savecore
##
if [ ! -d /var/crash/`uname -n` ]
then mkdir -m 0700 -p /var/crash/`uname -n`
fi
     echo 'checking for crash dump...¥c '
savecore /var/crash/`uname -n`
     echo ''

クラッシュダンプを調査する方法

  1. スーパーユーザーになります。

  2. crash ユーティリティを使用して、クラッシュダンプを調査します。

    # /usr/sbin/crash [-d crashdump-file] [-n name-list] [-w output-file]

    -d crashdump-file

    システムのメモリーイメージが格納されているファイルを指定する。デフォルトのクラッシュダンプファイルは /dev/mem である

    -n name-list

    システムのメモリーイメージへシンボルでアクセスを調査する場合、シンボルテーブル情報が格納されるテキストファイルを指定する。デフォルトのファイル名は /dev/ksyms である

    -w output-file

    クラッシュセッションからの出力を格納するファイルを指定する。デフォルトは標準出力である 

  3. クラッシュ状態情報を表示します。

    # /usr/sbin/crash
    dumpfile = /dev/mem, namelist = /dev/ksyms, outfile = stdout
    > status
       .
       .
       .
    > size buf proc queue
       .
       .
       .

例 - クラッシュダンプを調査する

次の例は、crash ユーティリティからのサンプル出力を示しています。状態とバッファについての情報、プロセス、および待ち行列のサイズが表示されています。

# /usr/sbin/crash
dumpfile = /dev/mem, namelist = /dev/ksyms, outfile = stdout
> status
system name:    SunOS
release:        5.6
node name:      saturn
version:        Generic
machine name:   sun4m
time of crash:  Fri Jan 10 14:14:39 1997
age of system:  60 day, 5 hr., 24 min.
panicstr:
panic registers:
        eip: 0     esp: 0
> size buf proc queue
120
1552
88

クラッシュダンプファイルを無効にする方法

  1. スーパーユーザーになります。

  2. /etc/init.d/sysetup ファイルを編集して、次に示すように各行の先頭にコメント記号 (#) を挿入します。

    #if [ ! -d /var/crash/`uname -n` ]
    #then mkdir -p /var/crash/`uname -n`
    #fi
    #                echo `checking for crash dump...¥c `
    #savecore /var/crash/`uname -n`
    #                echo ''
  3. 変更を保存します。

  4. /var/crash ディレクトリからクラッシュダンプ用のファイルを削除します。

    # rm -rf /var/crash/system-name
    

    system-name

    クラッシュダンプファイルの保存を無効にするシステム名