導入されたLinuxシステムのメモリダンプメカニズム(A) - のkdump

 

デザイン哲学のLinuxシステムでは、カーネルは専用メモリをダンプするためのメカニズムを提供し、ユーザーはメモリダンプの種類たい、ポリシーの質問に属しているダンプは、ユーザによって決定どのくらいのメモリです。

実際の使用シナリオでは、主に次の2つの方法で使用:のkdumpとコアダンプを

1.kdump:プロセスがハングした後に分析をデバッグするユーザーのためのプロセス・ダンプのアドレス空間。

2.coredump:システム管理者にハングアップ、システム全体のメモリをダンプデバッグするために、分析システムを引き起こします。

本論文では、kdumpのを説明します

kexecをとkdumpの全体のプロセスは、プロセス全体の適切な実施を確保するために、追加のダンプ・カーネルに依存しています。

kdumpの関連するコンポーネント:

障害管理のために使用さkexecを確保したメモリに特定のカーネル、ツールを介して負荷を1.kdump。

カーネルのクラッシュ、だけでなく、いくつかの起動パラメータをロードする責任2.kexecツール。

カーネルのメモリコピーの障害の責任3.makedumpfileツール、指定されたファイルへの書き込み、圧縮。

kdumpの実装

kdumpの全体のプロセスは2つのカーネルブートが含まれます。

1.まず、カーネルは、ハードウェアの初期化、セルフテストを含む作品、ブートローダ同時カーネルブートカーネルが起動し、予約済みのメモリ構成、およびカーネルをロード予約メモリにクラッシュするのkexecツールのロードを開始します。

故障の顔2.作業カーネルブートクラッシュカーネルがパニックをトリガし、クラッシュカーネルは、カーネルの初期化ロジックを実行し、高速で起動し、ハードウェアのセルフテストを初期化しない起動のkexec。

カーネルが適切に/ proc / vmcoreにメモリイメージファイルを介して保存するために圧縮した後、ハードディスクの故障メモリダンプファイルに書き込まれます、リソースを管理できるシステムの3.crash良い部分をロードされた後。

キャプチャした後4.復旧を完了するためにシステムの完全なリブートです。

増加のシステムメモリを使用すると、回復時間は、2つのシステムの起動時間が比較的直線的インパクトオフメモリ、メモリ、およびファイル圧縮プレートをコピーする主因時間を増加、固定、直線的に増大します。だから、多くのkdumpの最適化は、次の主要な側面のために達成されています。

メモリの1.copy用語は:システムコールの数を減らすために、MMAP方法vmcoreには、コピーの効率を向上させることができる実装します。

2.メモリ圧縮:GZIPアルゴリズムの元LZOを置き換えるために、より効率的な圧縮アルゴリズムの導入。

3.順序配置するには:ファイルIO主な考慮事項の同時書き込みをし、効率を最適化します。

kdumpを使用する方法:

1.有効であるが、観察することができるの/ proc / cmdlineをすることにより、クラッシュカーネルフィールドを増やし、起動パラメータを変更します。

2.取り付けアセンブリのkdumpパッケージ、およびクラッシュカーネルのkexecアセンブリを備えます。

3.スタートのkdumpサービスは、コマンドによってサービスやスタートアップスクリプトの/ etcディレクトリを起動します。

4.クラッシュカーネルの/ procの/ IOMEM成功した負荷を守って

 

オリジナル:Linuxシステムのメモリダンプメカニズム導入(A) -のkdump

おすすめ

転載: www.cnblogs.com/qinsoo/p/11420599.html