/usr/bin/savecore [-Lvd] [-f dumpfile] [directory]
The savecore utility saves a crash dump of the kernel (assuming that one was made) and writes a reboot message in the shutdown log. It is invoked by the dumpadm service each time the system boots.
savecore can be configured by dumpadm(1M) to save crash dump data in either a compressed or uncompressed format. For the compressed format, savecore saves the crash dump data in the file directory/vmdump.N, where N in the pathname is replaced by a number which increments by one each time savecore is run in directory. The compressed file can be uncompressed in a separate step using the –f dumpfile option. For the uncompressed format, savecore saves the crash dump data in the file directory /vmcore.N and the kernel's namelist in directory/unix.N.
Integrity verification of vmdump-*.N files from remote system is done when extraction is performed to vmcore-*.N file. It can be done separately without the extraction by using the –V option. If the verification fails, savecore marks the file as incomplete.
Before writing out a crash dump, savecore reads a number from the file directory/minfree. This is the minimum number of kilobytes that must remain free on the file system containing directory. If after saving the crash dump the file system containing directory would have less free space the number of kilobytes specified in minfree, the crash dump is not saved. if the minfree file does not exist, savecore assumes a minfree value of 1 megabyte.
The savecore utility also logs a reboot message using facility LOG_AUTH (see syslog(3C)). If the system crashed as a result of a panic, savecore logs the panic string too.
The following options are supported:
Disregard dump header valid flag. Force savecore to attempt to save a crash dump even if the header information stored on the dump device indicates the dump has already been saved.
Save a crash dump from the specified file instead of from the system's current dump device. When given directory/vmdump.N, uncompress the file to vmcore.N and unix.N, where N is the same number as in the compressed name.
This option may also be useful if the information stored on the dump device has been copied to an on-disk file by means of the dd(1M) command.
Save a crash dump of the live running Solaris system, without actually rebooting or altering the system in any way. This option forces savecore to save a live snapshot of the system to the dump device, and then immediately to retrieve the data and to write it out to a new set of crash dump files in the specified directory. Live system crash dumps can only be performed if you have configured your system to have a dedicated dump device using dumpadm(1M).
savecore –L does not suspend the system, so the contents of memory continue to change while the dump is saved. This means that live crash dumps are not fully self-consistent.
Verbose. Enables verbose error messages from savecore.
The following operands are supported:
Save the crash dump files to the specified directory. If directory is not specified, savecore saves the crash dump files to the default savecore directory, configured by dumpadm(1M).
/var/crash/`uname -n` (default crash dump directory)
See attributes(5) for descriptions of the following attributes:
adb(1), mdb(1), svcs(1), dd(1M), dumpadm(1M), svcadm(1M), syslog(3C), attributes(5), smf(5)
The system crash dump service is managed by the service management facility, smf(5), under the service identifier:
Administrative actions on this service, such as enabling, disabling, or requesting restart, can be performed using svcadm(1M). The service's status can be queried using the svcs(1) command.
If the dump device is also being used as a swap device, you must run savecore very soon after booting, before the swap space containing the crash dump is overwritten by programs currently running.
When savecore creates a file it appends the suffix .partial. After the file is completed, it is renamed without the suffix. If files are found in the dump directory with this suffix, it means that either savecore is still busy, or that it was interrupted before completely writing the file. In the former case, use ps(1) to find the PID of the running savecore process and wait for it to complete. In the latter case, remove the partial file and recreate it by running savecore –d.