Initiates a live dump.
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 [ ... ]
The livedumpstart command is used to start a live dump. The dump can include one or more components. Only serialized dumps are used. It can be limited to one pass. The data acquired is dumped to the file system, and the dump is placed in a directory. The dump can be designated as informational or critical.
Components are dumped in the order that you specify. Specify the failing component with either the -C, -L, or -T flag. You cannot specify the name of a pseudo-component.
The data is dumped at the detail level that you set for that component, see the dumpctrl command for more information about managing system and live dumps.
If you do not specify the -q flag, the livedumpstart command displays a message containing the name of the dump.
Item | Description | ||
---|---|---|---|
-c [+] component_path[+] [:parameter_list] | Specifies a component by component path name. You can specify the -c flag more than once. If you precede a component name with a plus sign (+), the data from that component and its ancestors are dumped. If you follow a component name with a plus sign (+), the data from that component and its descendents are dumped. You can pass parameters to the component. Follow the component name and the optional "+" :parameter_list. A parameter_list consists of parameters separated by commas. It can also be groups separated by blanks. If a component and its ancestors or descendents are specified, parameters are passed only to the component, not to the ancestors or descendents. |
||
-C [+] component_path[+] [:parameter_list] | Specifies a failing component by component path name. At most one failing component can be specified. Thus, only one of the -C, -L, and -T flags is allowed, and that component specification must refer to a single component. If -C basecomp+ is specified, and basecomp is not live dump aware, then only one component among basecomp and its descendents can be live dump aware. However, if basecomp is live dump aware, basecomp is
the failing component, and it might have multiple live-dump-aware
descendents.
Tip: These rules also
apply to a component and its ancestors.
If a component is preceded with a plus sign, "+", then that component and its ancestors are dumped. If a component is followed with a plus sign, "+", then that component and its descendents are dumped. If parameters are passed to the component, the component and the optional "+" are followed with :parameter_list. A parameter_list consists of parameters separated by commas, or keyword=parm_list pairs separated by blanks. See the section on specifying parameters from the command line for more information. Note that if a component and its ancestors and/or descendents are specified, parameters are passed only to the component, not to the ancestors or descendents. |
||
-e | Displays an estimate for the
size of the dump, which contains the specified components or pseudo-components. This flag obtains a size estimate for the dump without starting the dump. To get an accurate estimate, use the same components, parameters, and detail level that you intend to use for the dump. The estimate takes into account the compression factor. |
||
-h | Shows help text. If the -h flag is specified with other components or pseudo-components, the help text for those components is shown. | ||
-l [+] logical_alias[+] [:parameter_list] | Specifies a component by component logical alias. You can specify multiple -c, -l, and -t flags. If a logical alias is preceded with a plus sign "+", then that alias and its ancestors are dumped. If a logical alias is followed with a plus sign "+", then that alias and its descendents are dumped. If parameters are passed to the component, the component and the optional "+" are followed with :parameter_list. A parameter_list consists of parameters separated by commas, or keyword=parm_list pairs separated by blanks. See the section on specifying parameters from the command line for more information. Note that if a component and its ancestors, descendents, or both are specified, parameters are passed only to the component, not to the ancestors or descendents. |
||
-L [+] logical_alias[+] [:parameter_list] | Specifies a failing component by component logical alias. At most one failing component can be specified. Thus, only one of the -C, -L, and -T flags is allowed, and that component specification must refer to a single component. If -L basecomp+ is specified, and basecomp is not live dump aware, then only one component among basecomp and its descendents can be live dump aware. However, if basecomp is live dump aware, basecomp is
the failing component, and it might have multiple live-dump-aware
descendents.
Tip: These rules also
apply to a component and its ancestors.
If a logical alias is preceded with a plus sign "+", then that alias and its ancestors are dumped. If a logical alias is followed with a plus sign "+", then that alias and its descendents are dumped. If parameters are passed to the component, the component and the optional "+" are followed with :parameter_list. A parameter_list consists of parameters separated by commas, or keyword=parm_list pairs separated by blanks. See the section on specifying parameters from the command line for more information. Note that if a component and its ancestors and/or descendents are specified, parameters are passed only to the component, not to the ancestors or descendents. |
||
-p pseudo-component [:parameter_list] | Specifies a pseudo-component. Note: A
pseudo-component (-p) cannot be a failing
component.
If parameters are to be passed to the pseudo-component, the pseudo-component must be followed by a :parameter_list. A parameter_list consists of parameters separated by commas, or keyword=parm_list pairs separated by blanks. See the section on specifying parameters from the command line for more information. The following table is the description of pseudo-components. |
||
Specification | Parameters | Description | |
eaddr:hex,hex | address and length, hexadecimal values | Dumps memory by kernel effective address. | |
context:addr=hex-eaddr | tid_t=hex-tid_t | cpu=dec-lcpu | bid=dec-bid | hex-eaddr - context (MST) effective address, hex-tid_t - kernel thread id, dec-lcpu - logical cpu, dec-bid - cpu bind id | Dumps a kernel context. This includes lightweight memory trace data, stack and thread state information. | |
tid_t:hex-tid | hexadecimal kernel thread id | Dumps a kernel thread by kernel thread ID. | |
tid:dec-tid | decimal kernel thread id | Dumps a kernel thread by kernel thread ID, and the ID is decimal. | |
tslot:dec-slot | decimal kernel thread slot number | Dumps a kernel thread by kernel thread ID, and the thread is specified by decimal slot number. | |
pid_t:hex-pid | hexadecimal kernel process id | Dumps a process by process ID. | |
pid:dec-pid | decimal process id | Dumps a process by process ID, and the ID is decimal. | |
pslot:dec-slot | decimal process slot number | Dumps a process by process ID, and the process is specified by decimal slot number. | |
errbuf | no parameters | Dumps kernel error logging data. | |
mtrc:common-size, rare-size | common and rare decimal buffer sizes | Dumps lightweight memory trace data. | |
systrace:dec-size | decimal buffer size | Dump system trace data. If the buffer size is 0, the entire buffer is dumped. | |
comptrace:component, dec-length | component name and decimal amount of data. The component can be an alias, and the length can be zero to dump the entire buffer. | Dumps component trace data. | |
kernext:pathname | extension's full path name | Allows symbol resolution for this extension. | |
-q | Specifies quiet mode. No messages are displayed. | ||
-r | Dumps data for any subcomponents of the specified components. Specifying this flag is equivalent to specifying every component followed by a "+". | ||
-t [+] type[+] [:parameter_list] | Specifies a component by its type or subtype. You can specify multiple -c, -l, and -t flags. If a type or subtype is preceded with a plus sign (+), then that component and its ancestors are dumped. If a type or subtype is followed with a plus sign (+), then that component and its descendents are dumped. If parameters are passed to the component, the component and the optional "+" are followed with :parameter_list. A parameter_list consists of parameters separated by commas, or keyword=parm_list pairs separated by blanks. See the section on specifying parameters from the command line for more information. Note that if a component and its ancestors and/or descendents are specified, parameters are passed only to the component, not to the ancestors or descendents. |
||
-T [+] type[+] [:parameter_list] | Specifies a failing component by component type or subtype. At most one failing component can be specified. Thus, only one of the -C, -L, and -T flags is allowed, and that component specification must refer to a single component. If -T type+ is specified, and type is not live dump aware, then only one component among type and its descendents can be live dump aware. However, if a component
of the type type is live dump aware, it
is the failing component, and it might have multiple live-dump-aware
descendents.
Tip: These rules also
apply to a component and its ancestors.
If a type or subtype is preceded with a plus sign (+), then that component and its ancestors are dumped. If a type is followed with a plus sign (+), then that component and its descendents are dumped. If parameters are passed to the component, the component and the optional "+" are followed with :parameter_list. A parameter_list consists of parameters separated by commas, or keyword=parm_list pairs separated by blanks. See the section on specifying parameters from the command line for more information. Note that if a component and its ancestors, descendents, or both are specified, parameters are passed only to the component, not to the ancestors or descendents. |
||
-u | Dumps the data for the components that are "above" the specified components in the component hierarchy. This is equivalent to specifying every component preceded by a "+". |
You can use wildcard when you specify component names and aliases. Remember that any parameters that you specify are passed to all matching components. You cannot use all or an asterisk (*).
Item | Description |
---|---|
symptom=string | Provides symptom string details that must be supplied to further qualify the dump. The maximum length of this string is 2047 characters. |
Item | Description |
---|---|
errcode=code | Specifies the error code for the symptom string. If it begins with 0x, the value is in hex; if it begins with 0, the value is octal; otherwise it is decimal. |
force=yes|no | If yes, overrides duplicate checking, dumps the data regardless of whether it duplicates a previous dump. The default is yes, because any dump taken from the command line should not be treated as a duplicate. |
log=yes|no | Specifies whether a log entry should be written when the dump completes. If you specify yes, a message is written to the error log. The default is yes. |
noforce | For software initiated live dumps. Specifies whether to initiate the dump if it duplicates a previous dump that was initiated within the last day. The noforce attribute makes the dump subject to duplicate elimination. |
nolog | Specifies whether to a message should be written to the error log when the dump is complete. If it is not specified, dump completion and errors are logged. |
prefix=prefix | Specifies the file name prefix. The name can be no more than 63 characters. |
priority=priority | Specifies the priority of the dump. You can specify info or critical. The default is critical. If you specify the value info, it indicates the dump is for informational purposes, while critical indicates the dump is necessary to debug a problem. |
title=string | Specifies an optional dump title, which can be up to 127 characters. |
type=type | Specifies whether data should be collected without
freezing the system.
|
onepass | All data is gathered under one pass. The dump is truncated if all data does not fit in available memory. The default is to use multiple passes if required. |
Item | Description |
---|---|
0 (zero) | The livedumpstart command completes successfully and produces a message containing the name of the dump. |
nonzero | The livedumpstart command
fails and produces an error message. This command fails under the
following conditions:
|
Only the root user can run this command.
livedumpstart -L +ent0 symptom=foo
The failing
component is ent0. This creates a dump named ent0.yymmddhhmm.00.DZ.
It is a serialized, critical dump. livedumpstart -p pid:856 -p pid:10272 \
info prefix=mydump title="process dump" symptom="foo"
The dump is named mydump.nocomp.yymmddhhmm.00.DZ.
Note there is no failing component.
livedumpstart -C foo+:block=45ab8 -pcontext:tid_t=57B29 onepass symptom=bar
This command dumps foo, its descendents,
and the context for kernel thread 57B29. The dump
is named foo.yymmddhhmm.00.DZ.
livedumpstart -L subsyst+ title="Dump of subsystem subsyst" symptom=foo
livedumpstart -p tid:1234 -p eadder:45928,400 symptom=foo
In this example, there is no failing component.