livedumpstart コマンド
目的
ライブ・ダンプを開始します。
構文
livedumpstart [ -e ] [ -h ] [ -p pseudo-component ] [ -q ] [ -r ] [ -u ] [ -c component_path ] [ -l logical_alias ] [ -t type ] [ -C component_path | -L logical_alias | -T type ] attribute [ ... ]
説明
livedumpstart コマンドは、ライブ・ダンプを開始するために使用します。ダンプには 1 つ以上のコンポーネントを組み込むことができます。 直列化されたダンプのみが使用されます。ダンプを 1 つのパスに限定することができます。獲得されたデータはファイルシステムにダンプされ、ダンプはディレクトリーに入れられます。ダンプを通知ダンプまたは重要ダンプとして指定することができます。
コンポーネントは、指定した順序でダンプされます。障害のあるコンポーネントには、-C、-L、または -T のいずれかのフラグを付けて指定してください。疑似コンポーネントの名前を指定することはできません。
データは、該当のコンポーネントに設定した詳細レベルでダンプされます。システム・ダンプおよびライブ・ダンプの管理の詳細については、dumpctrl コマンドを参照してください。
-q フラグを指定しない場合は、livedumpstart コマンドにより、ダンプの名前を含むメッセージが表示されます。
フラグ
項目 | 説明 | ||
---|---|---|---|
-c [+] component_path[+] [:parameter_list] | コンポーネントのパス名別にコンポーネントを指定します。 -c フラグを複数回指定できます。 コンポーネント名の前に正符号 (+) を付けた場合は、当該コンポーネントおよびその祖先コンポーネントのデータがダンプされます。 コンポーネント名の後に正符号 (+) を付けた場合は、当該コンポーネントおよびその子孫コンポーネントのデータがダンプされます。 複数のパラメーターをコンポーネントに渡すことができます。コンポーネント名の後にオプションの "+" :parameter_list を指定してください。parameter_list は、コンマで区切られた複数のパラメーターから構成されます。このリストは、ブランクで区切ってグループ分けすることもできます。 コンポーネントおよびその祖先または子孫のコンポーネントが指定された場合には、パラメーターは当該コンポーネントにのみ渡され、祖先または子孫のコンポーネントには渡されません。 |
||
-C [+] component_path[+] [:parameter_list] | コンポーネントのパス名別に障害のあるコンポーネントを指定します。 障害のあるコンポーネントは 1 つだけ指定できます。したがって、-C、-L、および -T フラグのうちいずれか 1 つだけ指定でき、そのコンポーネント指定は、1 つのコンポーネントを表していなくてはなりません。-C basecomp+ が指定され、かつ basecomp がライブ・ダンプを認識していない場合は、ライブ・ダンプを認識できるのは basecomp およびその子孫コンポーネントのうちの 1 つのコンポーネントに限られます。 しかし、basecomp がライブ・ダンプを認識している場合には、basecomp は障害のあるコンポーネントであり、複数のライブ・ダンプ認識の子孫コンポーネントがある可能性があります。
ヒント: 上記の規則は、コンポーネントとその祖先コンポーネントにも適用されます。
コンポーネントの前に正符号 (+) を付けた場合は、当該コンポーネントとその祖先コンポーネントがダンプされます。 コンポーネントの後に正符号 (+) を付けた場合は、当該コンポーネントとその子孫コンポーネントがダンプされます。 パラメーターがコンポーネントに渡される場合は、コンポーネントとオプションの "+" の後に :parameter_list が付きます。 parameter_list は、コンマで区切られた複数のパラメーター、またはブランクで区切られた keyword=parm_list ペアから構成されます。詳細については、コマンド・ラインからのパラメーターの指定に関するセクションを参照してください。 コンポーネントおよびその祖先または子孫 (あるいはその両方) のコンポーネントが指定された場合には、パラメーターは当該コンポーネントにのみ渡され、祖先または子孫のコンポーネントには渡されないことに注意してください。 |
||
-e | 指定されたコンポーネントまたは疑似コンポーネントが含まれているダンプのサイズの見積もりを表示します。
このフラグを使用すると、ダンプを開始することなくダンプのサイズの見積もりが得られます。 正確な見積もりを得るためには、ダンプに使用するのと同じコンポーネント、パラメーター、および明細レベルを使用してください。 見積もりには、圧縮係数が取り入れられます。 |
||
-h | ヘルプ・テキストを表示します。-h フラグが他のコンポーネントまたは疑似コンポーネントと共に指定された場合には、そのコンポーネントのヘルプ・テキストが表示されます。 | ||
-l [+] logical_alias[+] [:parameter_list] | コンポーネントの論理別名別にコンポーネントを指定します。 複数の -c、-l、および -t フラグを指定することができます。 論理別名の前に正符号 (+) を付けた場合は、当該別名とその祖先別名がダンプされます。 論理別名の後に正符号 (+) を付けた場合は、当該別名とその子孫別名がダンプされます。 パラメーターがコンポーネントに渡される場合は、コンポーネントとオプションの "+" の後に :parameter_list が付きます。 parameter_list は、コンマで区切られた複数のパラメーター、またはブランクで区切られた keyword=parm_list ペアから構成されます。詳細については、コマンド・ラインからのパラメーターの指定に関するセクションを参照してください。 コンポーネントおよびその祖先または子孫 (あるいはその両方) のコンポーネントが指定された場合には、パラメーターは当該コンポーネントにのみ渡され、祖先または子孫のコンポーネントには渡されないことに注意してください。 |
||
-L [+] logical_alias[+] [:parameter_list] | コンポーネントの論理別名別に障害のあるコンポーネントを指定します。 障害のあるコンポーネントは 1 つだけ指定できます。したがって、-C、-L、および -T フラグのうちいずれか 1 つだけ指定でき、そのコンポーネント指定は、1 つのコンポーネントを表していなくてはなりません。-L basecomp+ が指定され、かつ basecomp がライブ・ダンプを認識していない場合は、ライブ・ダンプを認識できるのは basecomp およびその子孫コンポーネントのうちの 1 つのコンポーネントに限られます。 しかし、basecomp がライブ・ダンプを認識している場合には、basecomp は障害のあるコンポーネントであり、複数のライブ・ダンプ認識の子孫コンポーネントがある可能性があります。
ヒント: 上記の規則は、コンポーネントとその祖先コンポーネントにも適用されます。
論理別名の前に正符号 (+) を付けた場合は、当該別名とその祖先別名がダンプされます。 論理別名の後に正符号 (+) を付けた場合は、当該別名とその子孫別名がダンプされます。 パラメーターがコンポーネントに渡される場合は、コンポーネントとオプションの "+" の後に :parameter_list が付きます。 parameter_list は、コンマで区切られた複数のパラメーター、またはブランクで区切られた keyword=parm_list ペアから構成されます。詳細については、コマンド・ラインからのパラメーターの指定に関するセクションを参照してください。 コンポーネントおよびその祖先または子孫 (あるいはその両方) のコンポーネントが指定された場合には、パラメーターは当該コンポーネントにのみ渡され、祖先または子孫のコンポーネントには渡されないことに注意してください。 |
||
-p pseudo-component [:parameter_list] | 疑似コンポーネントを指定します。 注: 疑似コンポーネント (-p) を障害のあるコンポーネントとすることはできません。
パラメーターが疑似コンポーネントに渡される場合は、その疑似コンポーネントの後に :parameter_list を付ける必要があります。parameter_list は、コンマで区切られた複数のパラメーター、またはブランクで区切られた keyword=parm_list ペアから構成されます。詳細については、コマンド・ラインからのパラメーターの指定に関するセクションを参照してください。 次の表は、疑似コンポーネントについて説明したものです。 |
||
仕様 | パラメーター | 説明 | |
eaddr:hex,hex | アドレスおよび長さ、16 進値 | カーネル有効アドレス別にメモリーをダンプします。 | |
context:addr=hex-eaddr | tid_t=hex-tid_t | cpu=dec-lcpu | bid=dec-bid | hex-eaddr - コンテキスト (MST) 有効アドレス、hex-tid_t - カーネル・スレッド ID、dec-lcpu - 論理 cpu、dec-bid - cpu バインド ID | カーネル・コンテキストをダンプします。これには、軽量メモリー・トレース・データ、スタックおよびスレッドの状態情報が含まれます。 | |
tid_t:hex-tid | 16 進カーネル・スレッド ID | カーネル・スレッド ID 別にカーネル・スレッドをダンプします。 | |
tid:dec-tid | 10 進カーネル・スレッド ID | カーネル・スレッド ID 別にカーネル・スレッドをダンプします。この ID は 10 進数です。 | |
tslot:dec-slot | 10 進カーネル・スレッド・スロット番号 | カーネル・スレッド ID 別にカーネル・スレッドをダンプします。このスレッドは、10 進スロット番号で指定されます。 | |
pid_t:hex-pid | 16 進カーネル・プロセス ID | プロセス ID 別にプロセスをダンプします。 | |
pid:dec-pid | 10 進プロセス ID | プロセス ID 別にプロセスをダンプします。この ID は 10 進数です。 | |
pslot:dec-slot | 10 進プロセス・スロット番号 | プロセス ID 別にプロセスをダンプします。このプロセスは、10 進スロット番号で指定されます。 | |
errbuf | パラメーターなし | カーネル・エラー・ロギング・データをダンプします。 | |
mtrc:common-size, rare-size | 共通および特殊 10 進バッファー・サイズ | 軽量メモリー・トレース・データをダンプします。 | |
systrace:dec-size | 10 進バッファー・サイズ | システム・トレース・データをダンプします。 バッファー・サイズが 0 の場合は、バッファー全体がダンプされます。 | |
comptrace:component, dec-length | コンポーネント名およびデータの 10 進の量。コンポーネントを別名とし、長さをゼロにして、バッファー全体をダンプすることができます。 | コンポーネント・トレース・データをダンプします。 | |
kernext:pathname | エクステンションの絶対パス名 | このエクステンションのシンボル解決が許可されます。 | |
-q | 抑制モードを指定します。メッセージは表示されません。 | ||
-r | 指定されたコンポーネントのすべてのサブコンポーネントのデータをダンプします。 このフラグを指定すると、後ろに "+" の付いたコンポーネントをすべて指定するのと同じことになります。 | ||
-t [+] type[+] [:parameter_list] | コンポーネントのタイプ別またはサブタイプ別にコンポーネントを指定します。 複数の -c、-l、および -t フラグを指定することができます。 タイプまたはサブタイプの前に正符号 (+) を付けた場合は、当該コンポーネントとその祖先コンポーネントがダンプされます。 タイプまたはサブタイプの後に正符号 (+) を付けた場合は、当該コンポーネントとその子孫コンポーネントがダンプされます。 パラメーターがコンポーネントに渡される場合は、コンポーネントとオプションの "+" の後に :parameter_list が付きます。 parameter_list は、コンマで区切られた複数のパラメーター、またはブランクで区切られた keyword=parm_list ペアから構成されます。詳細については、コマンド・ラインからのパラメーターの指定に関するセクションを参照してください。 コンポーネントおよびその祖先または子孫 (あるいはその両方) のコンポーネントが指定された場合には、パラメーターは当該コンポーネントにのみ渡され、祖先または子孫のコンポーネントには渡されないことに注意してください。 |
||
-T [+] type[+] [:parameter_list] | コンポーネントのタイプ別またはサブタイプ別に障害のあるコンポーネントを指定します。 障害のあるコンポーネントは 1 つだけ指定できます。したがって、-C、-L、および -T フラグのうちいずれか 1 つだけ指定でき、そのコンポーネント指定は、1 つのコンポーネントを表していなくてはなりません。-T type+ が指定され、かつ type がライブ・ダンプを認識していない場合は、ライブ・ダンプを認識できるのは type およびその子孫コンポーネントのうちの 1 つのコンポーネントに限られます。 しかし、タイプ type のコンポーネントがライブ・ダンプを認識している場合には、このコンポーネントは障害のあるコンポーネントであり、複数のライブ・ダンプ認識の子孫コンポーネントがある可能性があります。
ヒント: 上記の規則は、コンポーネントとその祖先コンポーネントにも適用されます。
タイプまたはサブタイプの前に正符号 (+) を付けた場合は、当該コンポーネントとその祖先コンポーネントがダンプされます。 タイプの後に正符号 (+) を付けた場合は、当該コンポーネントとその子孫コンポーネントがダンプされます。 パラメーターがコンポーネントに渡される場合は、コンポーネントとオプションの "+" の後に :parameter_list が付きます。 parameter_list は、コンマで区切られた複数のパラメーター、またはブランクで区切られた keyword=parm_list ペアから構成されます。詳細については、コマンド・ラインからのパラメーターの指定に関するセクションを参照してください。 コンポーネントおよびその祖先または子孫 (あるいはその両方) のコンポーネントが指定された場合には、パラメーターは当該コンポーネントにのみ渡され、祖先または子孫のコンポーネントには渡されないことに注意してください。 |
||
-u | コンポーネントの階層において、指定したコンポーネントより上位のコンポーネントのデータをダンプします。 これは、前に "+" の付いたコンポーネントをすべて指定するのと同じことになります。 |
コンポーネント名および別名を指定する際に、ワイルドカードを使用することができます。指定するいずれのパラメーターも、合致するすべてのコンポーネントに渡されることを覚えておいてください。 all またはアスタリスク (*) を使用することはできません。
属性
項目 | 説明 |
---|---|
symptom=string | ダンプをさらに限定するために必要な症状ストリング詳細を指定します。 この文字列の最大長は 2047 文字です。 |
項目 | 説明 |
---|---|
errcode=code | 症状ストリングにエラー・コードを指定します。0x で始まる場合は値は 16 進数、0 で始まる場合は値は 8 進数です。それ以外の場合は 10 進数です。 |
force=yes|no | 「yes」の場合は、重複検査を指定変更し、前のダンプと重複するかどうかに関係なく、データをダンプします。 デフォルトは「yes」です。これは、コマンド・ラインから実行されるいずれのダンプも、重複として扱われることはないためです。 |
log=yes|no | ダンプの完了時にログ・エントリーを書き込むかどうかを指定します。 「yes」を指定した場合は、メッセージがエラー・ログに書き込まれます。デフォルトは「yes」です。 |
noforce | ソフトウェアによって開始されたライブ・ダンプ用です。その日に開始された前回のダンプと重複している場合に、このダンプを開始するかどうかを指定します。 noforce 属性を指定すると、ダンプの重複がなくなります。 |
nolog | ダンプの完了時にメッセージをエラー・ログに書き込むかどうかを指定します。 この属性を指定しない場合は、ダンプの完了およびエラーはログに記録されます。 |
prefix=prefix | ファイル名の接頭部を指定します。この名前は 63 文字を超えることはできません。 |
priority=priority | ダンプの優先順位を指定します。info または critical を指定することができます。デフォルトは critical です。 値 info を指定した場合は、ダンプが通知目的であることを示し、critical を指定した場合は、ダンプが問題のデバッグに必要であることを示します。 |
title=string | オプションのダンプ・タイトルを指定します。最大 127 文字を指定できます。 |
type=type | システムをフリーズさせずにデータを収集するかどうかを指定します。
|
onepass | すべてのデータが 1 つのパスのもとで収集されます。すべてのデータが使用可能メモリーに収まらない場合は、ダンプは切り捨てられます。 必要な場合は、デフォルトではマルチパスを使用できます。 |
終了状況
項目 | 説明 |
---|---|
0 (ゼロ) | livedumpstart コマンドが正常に完了し、ダンプの名前を含むメッセージを生成します。 |
nonzero | livedumpstart コマンドが失敗し、エラー・メッセージを生成します。このコマンドは、次の条件のもとで失敗します。
|
セキュリティー
root ユーザーのみがこのコマンドを実行できます。
例
- デバイス
ent0
、およびコンポーネントの階層でこのデバイスより上位のコンポーネントのデータをダンプするには、次のコマンドを入力します。
障害のあるコンポーネントはlivedumpstart -L +ent0 symptom=foo
ent0
です。これにより、ent0.yymmddhhmm.00.DZ
という名前のダンプが作成されます。これは直列化された重要ダンプです。ヒント: 障害のあるコンポーネントを指定するための規則に従って、ent0
がライブ・ダンプを認識していないにもかかわらず複数の祖先コンポーネントがある場合には、このコマンドは失敗します。ent0
がライブ・ダンプを認識しておらず、祖先コンポーネントが 1 つだけある場合は、この祖先コンポーネントが障害のあるコンポーネントとして使用されます。 - プロセス
856
および10272
のプロセス管理データの情報ダンプを作成するには、次のコマンドを入力します。
ダンプの名前はlivedumpstart -p pid:856 -p pid:10272 ¥ info prefix=mydump title="process dump" symptom="foo"
mydump.nocomp.yymmddhhmm.00.DZ
となります。障害のあるコンポーネントを入れないようにしてください。 - 直列化されたワンパス・ダンプ (ここで、
foo
は障害のあるコンポーネント) を作成するには、次のコマンドを入力します。
このコマンドはlivedumpstart -C foo+:block=45ab8 -pcontext:tid_t=57B29 onepass symptom=bar
foo
、その子孫コンポーネント、およびカーネル・スレッド57B29
のコンテキストをダンプします。ダンプの名前はfoo.yymmddhhmm.00.DZ
となります。 - サブシステムには、別名
subsyst
をもつ親コンポーネントがあります。また、ライブ・ダンプを認識するコンポーネントが 1 つだけあります。 このサブシステムの直列化ライブ・ダンプを作成するには、次のコマンドを使用することができます。livedumpstart -L subsyst+ title="Dump of subsystem subsyst" symptom=foo
- プロセス
1234
が 0x45928 で始まる 0x400 バイトと一緒にダンプされるように指定するには、次のコマンドを入力します。
この例では、障害のあるコンポーネントは含まれていません。livedumpstart -p tid:1234 -p eadder:45928,400 symptom=foo