system management
1748177 メンバー
4098 オンライン
108758 解決策
新規ポスト

スワッピング時のダンプ採取について

 
KN
貴重なコントリビューター

スワッピング時のダンプ採取について

いつもご利用させていただいております。

スワッピングしている最中にクラッシュした場合、ダンプファイルは物理メモリ+スワッピングの分の容量だけ採取されるのでしょうか?

例えば、物理メモリが2Gで、lvol2がswap+dumpで2G確保されているシステムで、スワッピングとして1Gほどswap+dumpを使用していた場合に、クラッシュすると、フルダンプファイルのサイズは3GBとなるのでしょうか?

ご教授お願い致します。
4件の返信4
hazelwood
信頼あるコントリビューター

スワッピング時のダンプ採取について

結論から言うと、物理メモリの分しかダンプされません。

スワップアウトされるのはユーザプロセスですから、スワップアウトされている仮想メモリはクラッシュ(=panic)を解析する上では不要なデータです。

余談ですが、デフォルトでは物理メモリもすべてがダンプされるわけではありません。crashconfの設定にしたがって、解析に必要な部分だけをダンプします。

KN
貴重なコントリビューター

スワッピング時のダンプ採取について

早速のご回答どうもありがとうございます。

お恥ずかしいことにスワップアウトされるのはユーザプロセスということは認識しておりませんでした。

続けて質問させていただきたいのですが、もしかして、ユーザプロセスがダンプの対象になっていないというのはデフォルト設定で変更可能なのでしょうか?

以下のようにcrashconf -vの結果で、INCLUDEDがyesの部分をダンプするとすれば、現状、noになっているUSERPGなどをyesにすれば、仮想メモリ部分もダンプされるのでしょうか?

# crashconf -v

CLASS PAGES INCLUDED IN DUMP DESCRIPTION

-------- ---------- ---------------- -------------------------------------

UNUSED 73133 no, by default unused pages

USERPG 28262 no, by default user process pages

BCACHE 50818 no, by default buffer cache pages

KCODE 6149 no, by default kernel code pages

USTACK 510 yes, by default user process stacks

FSDATA 0 yes, by default file system metadata

KDDATA 62611 yes, by default kernel dynamic data

KSDATA 2771 yes, by default kernel static data

SUPERPG 35012 no, by default unused kernel super pages

Total pages on system: 259266

Total pages included in dump: 65892

Dump compressed: ON

DEVICE OFFSET(kB) SIZE (kB) LOGICAL VOL. NAME

------------ ---------- ---------- ------------ -------------------------

31:0x032000 2923380 2097148 64:0x00000a /dev/vg00/lvol10

----------

2097148
hazelwood
信頼あるコントリビューター

スワッピング時のダンプ採取について

> 続けて質問させていただきたいのですが、もしかして、

> ユーザプロセスがダンプの対象になっていないというの

> はデフォルト設定で変更可能なのでしょうか?

変更可能です。ただし、USERPRGをyesにしてもすでにスワップアウトされているページはダンプされません。

設定方法としては、crashconfコマンドでダンプするように指定できますが、リブートするとデフォルトに戻ってしまうので、/etc/rc.config.d/crashconfのCRASH_INCLUDED_PAGESにダンプに含めたいCLASSを列記します。

KN
貴重なコントリビューター

スワッピング時のダンプ採取について

ご回答ありがとうございます。

crashconfファイルも確認できました。

"all"を追記することでフルダンプ採取可能ということですね。

どうもありがとうございました。