7.6. コアダンプの分析
システムクラッシュの原因を確認するには、crash ユーティリティーを使用します。これにより、GDB (GNU Debugger) と非常によく似たインタラクティブなプロンプトを利用できます。稼働中の Linux システムだけでなく netdump、diskdump、xendump、kdump などで作成したコアダンプなども対話形式で分析することができます。
7.6.1. crash ユーティリティーのインストール リンクのコピーリンクがクリップボードにコピーされました!
crash 分析ツールをインストールするには、root でシェルプロンプトから次のコマンドを実行します。
yum install crash
yum install crash
crash に加え、実行中のカーネルに対応する kernel-debuginfo パッケージもインストールしておく必要があります。このパッケージでダンプ分析に必要なデータが提供されます。 kernel-debuginfo をインストールするには、root として debuginfo-install を使用します。
debuginfo-install kernel
debuginfo-install kernel
Yum を使用した Red Hat Enterprise Linux の新規パッケージのインストール方法についてはRed Hat Enterprise Linux 7 システム管理者のガイドを参照してください。
7.6.2. crash ユーティリティーの実行 リンクのコピーリンクがクリップボードにコピーされました!
シェルプロンプトで次の形式のコマンドを入力してユーティリティーを起動します。
crash /usr/lib/debug/lib/modules/<kernel>/vmlinux \ /var/crash/<timestamp>/vmcore
crash /usr/lib/debug/lib/modules/<kernel>/vmlinux \ /var/crash/<timestamp>/vmcore
kdump で取得したのと同じ <kernel> のバージョンを使用します。現在実行中のカーネルを確認するには、uname -r のコマンドを使用します。
例7.2 crash ユーティリティーの実行
7.6.3. メッセージバッファーの表示 リンクのコピーリンクがクリップボードにコピーされました!
対話式プロンプトで log コマンドを入力して、カーネルメッセージバッファーを表示します。
例7.3 カーネルメッセージバッファーの表示
コマンドの使用の詳細は help log を実行します。
カーネルメッセージバッファーには、システムクラッシュに関する最も重要な情報が含まれています。したがって、これは常に最初に vmcore-dmesg.txt ファイルにダンプされます。これは、たとえば、ターゲットの場所にスペースがないために、 vmcore ファイル全体の取得試行に失敗するときに便利です。デフォルトでは、vmcore-dmesg.txt は /var/pkcs/directory/ あります。
7.6.4. バックトレースの表示 リンクのコピーリンクがクリップボードにコピーされました!
対話式プロンプトで bt コマンドを入力してカーネルのスタックトレースを表示します。1 プロセスのバックトレースを表示するには bt <pid> と入力します。
例7.4 カーネルスタックトレースの表示
このコマンドの使用方法についての詳しい情報を参照するには、help bt と入力してください。
7.6.5. プロセスの状態表示 リンクのコピーリンクがクリップボードにコピーされました!
対話式プロンプトで ps コマンドを入力してシステム内のプロセスの状態を表示します。1 プロセスの状態を表示するには ps <pid> と入力します。
例7.5 システム内のプロセスの状態表示
このコマンドの使用方法についての詳しい情報を参照するには、help ps と入力してください。
7.6.6. 仮想メモリー情報の表示 リンクのコピーリンクがクリップボードにコピーされました!
基本的な仮想メモリー情報を表示するには、対話式プロンプトで vm コマンドを入力します。1 プロセスの情報を表示するには vm <pid> と入力します。
例7.6 現在のコンテキストの仮想メモリー情報の表示
このコマンドの使用方法についての詳しい情報を参照するには、help vm と入力してください。
7.6.7. オープンファイルの表示 リンクのコピーリンクがクリップボードにコピーされました!
対話式プロンプトで files コマンドを入力してオープンファイルに関する情報を表示します。選択した 1 プロセスだけで開かれているファイルを表示するには files <pid> と入力します。
例7.7 現在のコンテキストのオープンファイルについての情報の表示
このコマンドの使用方法についての詳しい情報を参照するには、help files と入力してください。
7.6.8. ユーティリティーの終了 リンクのコピーリンクがクリップボードにコピーされました!
対話式プロンプトを終了して、crash を終了するには、exit または q と入力します。
例7.8 crash ユーティリティーの終了
crash> exit ~]#
crash> exit
~]#