Windows system >> Windowsの知識 >  >> Linuxシステムチュートリアル >> Linuxチュートリアル >> コンフィギュレーションのkdumpとクラッシュや故障解析方法

コンフィギュレーションのkdumpとクラッシュや故障解析方法

  
 

Linuxカーネルは非常に安定しているが、それでも必然的に、クラッシュする前にシステムを何が起こったのか分析し原因を分析し、エラーを修正するのに役立つので、システムをさらに強化、カーネルパニックミラーリングメモリへのアクセスをクラッシュ状況に遭遇します安定性。
のkdumpのkdumpについて[テキスト]

はミラーリングLinuxのメモリを収集するための最も効果的なメカニズムは、広く様々な製品の主要なLinuxベンダーで使用される、デバッグカーネルの面で重要なかけがえのないを果たしています効果。 kdumpはLinuxカーネルのクラッシュのkexecの捕捉機構に基づいており、メモリは、カーネルのプログラマがファイルを解析することにより、クラッシュの原因を見つけるために、カーネルの崩壊前に保存ミラーリング、そのシステムが改善されています。メモリダンプをミラーリング用のkdump、それだけではなく、また、NFS、SSHプロトコル等により異なるマシン上のデバイスにメモリダンプすることができミラーリング、ミラーリングローカルのハードディスクメモリにダンプすることができます。 kexecをとのkdump:kdumpの2つのコンポーネントに分割されます。 kexecをクイック・スタート・ツールのカーネルでは、カーネル(カーネル生産)のコンテキストで新しいカーネルのブートは、BIOS、時間のかかるを検出して、カーネルをデバッグするためにカーネル開発を促進することなく実行されていることができます。 kdumpのメモリダンプは、生産は、このプロセスは、システムを再起動する必要はありませんカーネルのクラッシュで新しいカーネルにkexecをクイックスタートが使用するカーネルメモリ空間の一部のままになりますので、あなたがダンプできるのkdumpを有効にする、効果的なツールです生産カーネルメモリミラーリングの崩壊。;のkexec-ツールで使用されるツール

kdumpの2つのマウント設定

2.1
のkdumpパッケージ搭載。カーネルのdebuginfoはvmcoreにファイルを分析するために使用されます。 RHEL5開始から、kexecを-ツールがリリースではデフォルトでインストールされています。 kdumpの生成されたファイルvmcoreに必要なデバッグは、手動でカーネルのdebuginfoパッケージをインストールする必要があります場合。インストールパッケージの動作を確認し、カーネルのdebuginfoの注目カーネルのdebuginfoのカーネルバージョンとバージョンが一貫している:

2.2のkdump構成プロファイルをカーネルパラメータ/boot/grub/grub.confファイル"を追加
; crashkernel = Y @ X"本明細書中、Yは、メモリのkdumpキャプチャカーネルとして予約され、Xは、メモリ開始位置の予約部分です。 i386とx86_64のため、編集て/etc/grub.conf、カーネル内の最後の行が追加" crashkernel = 128M]です。また=自動crashkernelすることは推奨されません、なぜなら&' RHEL6は、導入、自動&'を、放棄しなければなりません。設定パラメータの

2.3のkdump。ローカルのハードディスクの/var /クラッシュ/ディレクトリに保存されている
のkdumpデフォルトのファイルの下で、場所は、ローカルファイルシステムのディレクトリ、またはブロックデバイスであってもよいし、他のマシン上で、ネットワークによって保存されたファイルを変更することができます:猫/etc/kdump.conf…#rawは/dev /sda5です(rawデバイスに書き込まれた場合、あなたは行のコメントを解除する必要があります)#ext4のは/dev /sda3と(デバイスのファイルシステムタイプとパーティションに書き込ま指定)# (識別装置をサポートするためのUUIDやLABEL)のext4 LABEL = /ブート#のUUID = 03138356-5e61-4ab3-b58e-27507ac41937#ネットmy.server.com:/export/tmp(NFS書き込みモード)でext4 #net私の@ユーザー.server.com(SSH書き込みモード)パス/VAR /クラッシュ(保存されたメモリイメージファイルパス)core_collector makedumpfile -C --messageレベル1 -d 31(設定はメモリイメージコンテンツレベル、-C指示makedumpfileに保存され圧縮されたデータ、 - メッセージ-develの1つのを示す提示情報のレベルは、情報1は、ディスプレイ31が示すゼロページ、CA-Dを含め、すべてのメモリ・ページを削除することができ、コピーの進捗状況のみならずを表します。メモリダンプのkdumpミラーに障害が発生した場合にアクションを表現するなどCHEページ、プライベートキャッシュ、ユーザデータ、空きページ、)#DEFAULTシェル(デフォルトではルートファイルシステムをマウントすることですして/sbin /initの処理を実行し、リブートに変更することができます、停止、電源オフ、シェルなど)のブートに

2.4のkdumpサービス開始から。

2.5は、設定が正常に行われたことを確認します。成功するように指定したディレクトリ構成でカーネルイメージファイルを生成するものとして、カーネルのクラッシュを開始するコマンドを使用します

クラッシュについて

は、Linuxカーネルクラッシュダンプファイルのための3つの衝突解析ツールは、現在広くカーネルクラッシュを見つける問題を分析するために、クラッシュを習得するために、技術の使用を使用されている非常に重要な役割を持っています。カーネル開発者のために、クラッシュが必要不可欠なツールとなっています。

4.1

4つのクラッシュの設定と初期の使用は、インストールパッケージのメモリダンプファイルを使用して

4.2衝突解析を確認してください。カーネルは場所とバージョン情報DUMPFILE&mdashを表し、デバッグ、カーネル—&mdash:
の2つのパラメータは、デバッグカーネルで、ファイルをダンプし、それがコアダンプを生成した情報や文書をデバッグカーネルの崩壊と、次のとおりです。パラメータの意味はあります;——メモリダンプミラーリングCPUS分析&mdash表されるCPUの日付&mdashの単位の数を表し;&mdashは、カーネルクラッシュが稼働時間&mdashが発生した時刻を表すが;——時間カーネルが通常の動作負荷平均&mdashで表すカーネルクラッシュを表しますロード・タスクmdash&のシステム;—そのタスク番号NODENAMEシステムのカーネルパニックラン&mdashを示し;——テーブルには、カーネルのクラッシュホストマシンリリース&mdashの名前を思えカーネルのリリースバージョンバージョン&mdashを表し;—情報マシン&mdashのカーネルの別のバージョンを示してい;——メモリサイズが生成システムカーネルクラッシュPANIC&mdashを表し;— CPUアーキテクチャ及び周波数情報はメモリ&mdashを表す衝突のタイプを示します。コア予期しない動作が発生したか誤った表しおっと、カーネルが正常に戻ることができる、対応するプロセスを殺すか、不確実性の状態であってもよく、カーネルクラッシュを要求するシステムが引き起こさすなわちを通じて、SysRqを存在してもよいです、カーネルパニックにつながった;— Pannic、カーネルパニックを、その深刻かつ取り返しのつかないエラーが、このような発生したカーネルモジュールをロードまたはアンロードするために、強制的に違法アクセスするためのアドレス、およびハードウェア・エラーなどPID&mdashとして、発生したカーネルをクラッシュ表しプロセス番号COMMAND——カーネルクラッシュ名TASK&mdashにつながるプロセスを表し;— CPU&mdashにアクセスするプロセスをクラッシュさせるカーネルのメモリアドレス原因表し;—崩壊プロセスはSTATE&mdashをとるCPUコアの数につながる表し;&mdashは、リード線の心を表しています上記の情報の崩壊のプロセスの動作状態は、カーネル、カーネルモードエラーの3種類、すなわち、バグ、おっととパニックの崩壊の原因の予備的な分析のために使用することができます。マイナーなバグ・エラーと分類、おっと、ユーザ・プロセス・エラーを代表して、あなたは、信号が解放されることはありませんロック、可能性のあるシステムが不安定になることができ、ユーザープロセスが特定の信号をロックした場合、ユーザープロセスを強制終了する必要がありますセックス。パニックは、システム全体のクラッシュに代わって、重大なミスです。詳細な分析を追跡し、見つけるために、よりコマンドを使用する必要がある、と一定の理解を持っているカーネルのシステムとカーネル開発プログラムを実行する必要があります。

4.3クラッシュ頻繁に使用するコマンドは、コマンドのヘルプ#ビューのヘルプ情報を
、manコマンドはまた、このコマンドは、#BTコマンドでログ情報のメモリをプリントアウトするために使用された歴史の時間#コマンド、シェル#の等価historylogを表示するために使用することができます#このコマンドは、すべてのスレッドを取得するために使用されるBTコールスタックは、現在のスレッドのコールスタックのforeachを取得#このコマンドは、このコマンドは、カーネル仮想メモリ情報のファイル番号の現在のコンテキストを表示するために使用されるカーネルパニック情報のVM#を表示するために使用されるためにPS処理現在のカーネルコンテキストオープン出口またはq#出口クラッシュを表示するためのコマンド・ファイルは、

BT
スタックを確認するためのコマンドを使用して、4.4 [例外RIP:sysrq_handle_crash + 22]フィールドが表示され、命令ポインタ例外がカーネルために発生しますsysrq_handle_crash誤差関数、22は、オフセットを見ることができ、これはまた、ファイルシステムに関連しています。 CSは:0010フィールドは情報コードセグメントレジスタを示し、最下位ビットは、現在のプロセスの特権レベル(CPL)はカーネル空間でエラーを示す、0であることを示し、0です。システムクラッシュの手がかり(ラインのスクリーンショットの一部を省略し、唯一の最後に表示されている)と同様の
BTの結果を見つけることができます

4.5 logコマンド印刷システムメッセージバッファは、コールトレースシステムコールを通じてカーネルスタック情報を印刷します、分析のため。

4.6 psコマンドを用いて>(示されるように)、プロセスのステータスを表示する、同一性はアクティブなプロセスの代表です。スワッパプロセスシステムは、交換を表し
は、カーネルの一部であり、カーネルはpidがゼロであるタスクのスケジューリングを担当し、各CPUは、スワッパプロセスを持つことになります。ここでは、プロセスIDが1728で、bashのプロセス状態のカーネルをクラッシュ見ることができます。

4.7のファイルは仮想メモリの情報を表示するには、関連ファイルの操作/proc/sysrq-trigger

4.8 VMコマンドを参照してくださいすることができます
開いているファイルの現在のカーネルコンテキストを表示するコマンド

4.9前など、Linuxカーネルのクラッシュは、kdumpカーネルのクラッシュで収集することができたときに、

V.結論が
株式会社ビューネットワーク情報に取り付けられた状態

4.10ネットの簡単なコマンドを確認するには、コマンドを実装メモリダンプファイルを生成vmcoreに。カーネル開発者vmcoreにファイルを分析することにより、これにより、 Caozuojitong
コードの改良を行い、コアの崩壊の原因を診断することができます。クラッシュが広く使われている分析ツールカーネルクラッシュダンプファイルです。緊密な協力を通じてのkdumpとクラッシュ、あなたは多くの問題を除外することができます。zh-CN"],null,[1],zh-TW"]]]

Copyright © Windowsの知識 All Rights Reserved