Go to main content

マニュアルページ セクション 8: システム管理コマンド

印刷ビューの終了

更新: 2022年7月27日
 
 

dumpadm(8)

名前

dumpadm - オペレーティングシステムクラッシュダンプの構成

形式

/usr/sbin/dumpadm [-enpuy] [
-c content-spec] [-d 
dump-device]
     [-m mink | minm | 
min%] [-s savecore-dir]
     [-r root-dir] [-z on | off] [-D on | off]

説明

dumpadm プログラムは、オペレーティングシステムクラッシュダンプ機能の構成を管理する管理コマンドです。クラッシュダンプは、致命的なシステムエラー時のコンピュータの物理メモリーのコピーです。重大なオペレーティングシステムエラーが発生すると、エラーを説明するメッセージがコンソールに出力されます。If deferred dumping is enabled (on), the operating system then generates a crash dump by preserving the contents of physical memory in RAM.If this is not possible, or if deferred dumping is disabled (off), the contents of physical memory are written to a predetermined dump device, which can be a ZFS ZVOL, or a local disk partition.

クラッシュダンプの保存が終了すると、システムはリブートします。

重大なオペレーティングシステムエラーは、オペレーティングシステム、関連付けられたデバイスドライバ、および読み込み可能モジュールのバグや、ハードウェアの故障によって発生する可能性があります。原因がどのようなものでも、クラッシュダンプ自体が、問題を診断するのに役立つ重要な情報をサポートエンジニアに提供します。このため、クラッシュダンプを収集してサポートプロバイダに提供することはとても重要です。Following an operating system crash, the savecore(8) utility is executed automatically during boot to retrieve the crash dump and write it to your file system in compressed form, to files named vmdump.X, and vmdump-<secname>.X, where X is an integer identifying the dump.Afterward, savecore(8) can be invoked on the same or another system to expand the compressed crash dump to files named vmcore.X and vmcore-<secname>.X.リブート時にクラッシュダンプを保存するディレクトリは、dumpadm コマンドを使用して構成できます。

デフォルトでは、ダンプデバイスには専用の ZFS ボリュームが使用されます。For further information about setting up a dump area with ZFS, see the Managing ZFS File Systems in Oracle Solaris 11.4 book.

現在のダンプ構成を表示するには、引数なしの dumpadm コマンドを使用します。

example# dumpadm

      Dump content: kernel with ZFS metadata
       Dump device: /dev/zvol/dsk/rpool/dump (dedicated)
Savecore directory: /var/crash
  Savecore enabled: yes
   Save compressed: on
     Deferred Dump: on

オプションが指定されない場合、dumpadm は現在のクラッシュダンプ構成を表示します。The example above shows the set of default values: the dump content is set to kernel memory pages and ZFS metadata only.クラッシュダンプはメモリーが使用可能な場合はメモリー内に保持され、使用可能でない場合はダンプデバイスが使用されます。デフォルトでは、ダンプデバイスはルートプールの zvol です。savecore ファイルのディレクトリは /var/crash/ に構成されています。savecore がリブート時に自動的に実行され、圧縮形式でクラッシュダンプを保存するように構成されています。

1 つ以上のオプションが指定された場合、dumpadm は変更が有効であることを検証し、有効な場合はクラッシュダンプパラメータを再構成して結果の構成を表示します。ダンプパラメータを表示または変更するには、root である必要があります。

システムインストール時に dumpadm は、システムメモリーのサイズなどの内部情報に基づいて、ダンプファイルを格納するのに十分なサイズのダンプデバイスを確立します。その後、小さすぎてダンプファイルを格納できないダンプデバイスを作成しようとすると、dumpadm から警告メッセージが発行されます。

オプション

サポートしているオプションは、次のとおりです。

–c content-spec

クラッシュダンプが指定されたダンプ内容で構成されるように、ダンプ構成を変更します。content-spec は、オプションの内容の種類と内容の修飾子で構成されています。

[ content-type ] [ +content-modifier | -content-modifier.. ]

content-type は基本情報を提供し、内容の修飾子はダンプ対象の内容をさらに変更します。+ を使用すると、内容の修飾子によってダンプ対象のデータがさらに追加され、- を使用すると、そのデータが除外されます。

content-type は次のいずれかにできます。

kernel

カーネルメモリーページのみ。これにはカーネルページの基本セットのみが含まれ、内容の修飾子を使って指定できるページは含まれません。

all

すべてのメモリーページ。all を指定すると、システムイメージはダンプデバイスに書き込まれます。結果となるダンプにはファイルシステムバッファーのページが含まれます。

curproc

カーネルメモリーページ (「kernel」で指定されるもの) と、クラッシュダンプが起動された CPU 上でその時点で実行されていたスレッドを持つプロセスのメモリーページ。その CPU 上で実行中のスレッドが、どのユーザープロセスにも関連付けられていないカーネルスレッドである場合、カーネルページのみがダンプされます。

allproc

カーネルメモリーページ (「kernel」で指定されるもの) とすべてのプロセスページ。allproc を指定すると、システムイメージはダンプデバイスに書き込まれます。

content-modifier は次のいずれかにできます。

zfs

ZFS メタデータを格納するカーネルページ。

content-modifier は、カーネルメモリーのどの部分がダンプされ、どの部分がダンプされないかに影響を及ぼします。それらは、内容の種類を「all」に設定している場合にはまったく効果がありません。

content-type が省略され、content-modifier のみが指定されている場合は、現在構成されている content-type は未変更のままです。

–d dump-device

指定されたダンプデバイスを使用するようにダンプ構成を変更します。ダンプデバイスは次のいずれかを指定できます。

dump-device

/dev/dsk/cNtNdNsN のように絶対パス名で指定されたブロック型デバイス、または /dev/zvol/dsk/rpool/dump などの ZFS ボリューム。

swap

ダンプデバイスとして特殊トークン swap を指定した場合、dumpadm はアクティブスワップエントリを調べ、ダンプデバイスとして構成するのにもっとも適したエントリを選択します。See swap(8).適切なスワップエントリの選択に使用されるアルゴリズムの詳細については、後述の「ノート」を参照してください。

Use of a single swap device for a dump device is not recommended for low memory systems.If the system has less than 8 gigabytes of RAM then it should have a dedicated swap device, sufficient to allow the system to boot to the multi-user milestone, and a separate dump device which may also be used as an additional swap device.

none

ディスクベースのダンプデバイスを使用しないでください。メモリーにクラッシュダンプを格納できる場合は、クラッシュダンプが引き続き取得されます。

–D on | off

Modify the dump configuration to control whether dumping is deferred or not.The options are on, to preserve the crash dump in system memory if possible, and off, to write the crash dump to the dump device as part of the panic process.After the system reboots, savecore will find the crash dump in either system memory or on the dump device, and copy it to the savecore directory at that time.The default is on, because in most cases that will reduce the overall downtime of the system.

–e

圧縮されたクラッシュダンプの格納に必要なディスク容量の概算を出力します。この値は、現在の構成および現在実行中のシステムを使用して算出されます。

–m mink | minm | min%

minfree ファイル (savecore ディレクトリがあるファイルシステム内で指定された量以上の空き領域を savecore が維持すべきであることを示す) を現在の savecore ディレクトリ内に作成します。min 引数は次のいずれかを指定できます。

k

K バイトを表す単位 k が末尾に付いた正の整数。

m

M バイトを表す単位 m が末尾に付いた正の整数。

%

minfree 値を、savecore ディレクトリを含むファイルシステムの現在の合計サイズの指定されたパーセント値として計算すべきであることを示す、% 記号。

savecore コマンドは、minfree ファイルがある場合、ダンプファイルに書き込む前に参照します。これらのファイルのサイズによって空きディスク容量が minfree しきい値より下回る場合、ダンプファイルは書き込まれず、エラーメッセージが記録されます。管理者は十分な空き容量を確保するためにすぐに savecore ディレクトリをクリーンアップし、savecore コマンドを手動で再度実行すべきです。管理者は、savecore コマンド行で代替ディレクトリを指定することもできます。

–n

リブート時に savecore が自動的に実行されないようにダンプ構成を変更します。This is not the recommended system configuration. savecore(8) can be run manually once the system has booted up to extract the crash dump to the savecore directory.

ダンプデバイスがスワップパーティションの場合、システムがスワップデバイスを使用し始めたときにダンプデータが上書きされることがあります。ブート直後に savecore が実行されない場合は、クラッシュダンプを収集できない場合があります。

–p

マシン解析可能な出力を生成します。

–r root-dir

dumpadm がファイルを作成する際の起点となる代替ルートディレクトリを指定します。–r 引数を指定しない場合は、デフォルトルートディレクトリ / が使用されます。

–s savecore-dir

savecore によって書き込まれるファイルを保存するために、指定したディレクトリを使用するようにダンプ構成を変更します。このディレクトリは絶対パスで、システム上に存在しているべきです。リブート時にディレクトリが存在しない場合は、savecore の実行前に作成されます。savecore ディレクトリへのアクセスに関連するセキュリティー問題については、後述の「ノート」セクションを参照してください。デフォルト savecore ディレクトリは、/var/crash/ です。

–u

カーネルダンプ構成を /etc/dumpadm.conf の内容に基づいて強制的に更新します。このオプションは通常、リブート時に svc:/system/dump:config を起動するときに、以前のブートからの dumpadm 設定を復元する必要があるときにのみ使用されます。ダンプ構成はこの目的のために構成ファイルに保存されます。構成ファイルがないかいずれかのダンププロパティーに無効な値を含んでいる場合は、デフォルト値で置き換えられます。更新後、構成ファイルはカーネルダンプ構成と再同期されます。

–y

リブート時に savecore を自動的に実行するように、ダンプ構成を変更します。これはこのダンプ設定のデフォルトです。「ノート」 を参照してください。

–z on | off

リブート時の savecore の動作を制御するように、ダンプ構成を変更します。オプションは、コアファイルを圧縮形式で保存することを有効にする on と、クラッシュダンプファイルを自動的に圧縮解除する off です。デフォルトは on で、理由はクラッシュダンプファイルは非常に大きくなる可能性があり、圧縮形式で保存すれば必要なファイルシステム容量が少なくなるためです。

使用例 1 Reconfiguring The Dump Device to store current process pages and no ZFS metadata pages

example# dumpadm -c curproc-zfs
                   Dump content: kernel and current process without ZFS metadata
                    Dump device: /dev/zvol/dsk/rpool/dump (dedicated)
             Savecore directory: /var/crash
               Savecore enabled: yes
                Save compressed: on
                  Deferred Dump: on

使用例 2 allproc または all の内容を指定する

example# dumpadm -c all
                   Dump content: all
                    Dump device: /dev/zvol/dsk/rpool/dump (dedicated)
             Savecore directory: /var/crash
               Savecore enabled: yes
                Save compressed: on
                  Deferred Dump: on
使用例 3 savecore が無効な場合にクラッシュダンプを保持する

savecore が無効になっている場合でも、クラッシュダンプをメモリー内に保持し、リブート後にダンプデバイスにコピーできます。It can be extracted later by running savecore(8) manually.


example# dumpadm -n -c kernel+zfs
                   Dump content: kernel with ZFS metadata
                    Dump device: /dev/zvol/dsk/rpool/dump (dedicated)
             Savecore directory: /var/crash
               Savecore enabled: no
                Save compressed: on
                  Deferred Dump: on

終了ステータス

次の終了ステータスが返されます。

0

ダンプ構成が有効で、指定された変更 (ある場合) が正常に行われた。

1

ダンプ構成を取得または変更するときに致命的エラーが発生した。

2

無効なコマンド行オプションが指定された。

ファイル

/dev/dump

クラッシュダンプ管理デバイスドライバ。

/etc/dumpadm.conf

dumpadmsavecore の構成パラメータを含みます。dumpadm を使用した場合にのみ変更可能です。

savecore-directory/minfree

savecore-directory の最小空き容量を含みます。savecore(8) を参照してください。

属性

属性についての詳細は、マニュアルページの attributes(7) を参照してください。

属性タイプ
属性値
使用条件
system/core-os

関連項目

svcs(1)uname(1)attributes(7)smf(7)savecore(8)svcadm(8)swap(8)

システムクラッシュダンプサービスは、サービス管理機構 smf(7) によって、次のサービス識別子の下で管理されます。

svc:/system/dump:config
svc:/system/dump:deferred
svc:/system/dump:disk
svc:/system/dump:swap

再起動の有効化、無効化、要求などのこのサービスでの管理アクションは、svcadm(8) を使用して実行できますが、これらのサービスを無効にすることはお勧めしません。これらのサービスのステータスを照会するには、svcs(1) コマンドを使用します。

Dump Device Selection

dumpadm –d の引数として特殊な swap トークンが指定されると、ユーティリティーはもっとも適したスワップデバイスをダンプデバイスとして構成しようとします。dumpadm はもっとも大きなスワップブロック型デバイスをダンプデバイスとして構成します。スワップに使用できるブロック型デバイスがない場合は、もっとも大きなスワップエントリがダンプデバイスとして構成されます。スワップエントリが存在しないか、ダンプデバイスとして構成できるものがない場合は、警告メッセージが表示されます。

ダンプデバイス/スワップデバイスの対話

In the event that the dump device is also a swap device but not a ZFS volume and the swap device is deleted by the administrator using the swap –d command, the swap command will automatically invoke dumpadm –d swap in order to attempt to configure another appropriate swap device as the dump device.スワップデバイスが残っていないかダンプデバイスとして構成できるものがない場合には、クラッシュダンプが無効になり、警告メッセージが表示されます。同様に、クラッシュダンプが無効なときに管理者が swap –a コマンドを使って新しいスワップデバイスを追加すると、新しいスワップデバイスを使ってクラッシュダンプを再度有効にするために dumpadm –d swap が呼び出されます。

dumpadm –d swap が発行されると、それ以降のリブートのために新しいダンプデバイスが構成ファイル内に格納されます。管理者によってより大きなまたはより適したスワップデバイスが追加されても、ダンプデバイスは変更されません。管理者は、dumpadm –d swap を再実行して最適なデバイスをスワップデバイスの新しいリストから再選択する必要があります。

Minimum Free Space

dumpadm –m オプションを使って savecore ディレクトリを含むファイルシステムの合計サイズのパーセント値に基づいて minfree ファイルが作成された場合、その後ファイルシステムのサイズが変更されても、この値は自動的に再計算されません。この場合、管理者が dumpadm –m を再実行して minfree 値を再計算する必要があります。savecore ディレクトリ内にそのようなファイルが存在しない場合、savecore はデフォルトで空き容量しきい値として 1M バイトを使用します。空き容量しきい値が不要な場合は、サイズ 0 を含む minfree ファイルを作成できます。

If there is insufficient space in the dump directory, and system preserved a crash dump image in memory, then the image is written to the dump device for later extraction using savecore(8).

Security Issues

リブート時に、指定された savecore ディレクトリが存在しない場合、savecore を実行する前に、アクセス権 0700 (所有者のみによる読み取り、書き込み、実行)、所有者 root で作成されます。オペレーティングシステムクラッシュダンプファイル自体にセキュア情報が含まれている可能性があるため、同様のアクセス権で代替 savecore ディレクトリを作成することもお勧めします。

Default for savecore

システムインストールソフトウェアが専用ダンプデバイス (ディスクスライスや ZFS ボリュームなど) を予約する場合があります。そのような場合、dumpadm のデフォルトを、システムリブート時に savecore が自動的に実行されないことを意味する –n に設定してもかまいません。クラッシュイメージは、最初はメモリー内に保持された場合でも、ダンプデバイス上に保持されます。root として /usr/bin/savecore を手動で実行してクラッシュイメージを取り出し、それを /var/crash の下の一連のファイルにコピーします。クラッシュイメージは、後続のもので上書きされるまでダンプデバイス上に残ります。