d0e00679ff
dead URL links. Another part of PR/29238.
204 lines
5.6 KiB
Groff
204 lines
5.6 KiB
Groff
.\" $NetBSD: savecore.8,v 1.37 2012/03/15 22:35:03 njoly Exp $
|
|
.\"
|
|
.\" Copyright (c) 1980, 1991, 1993
|
|
.\" The Regents of the University of California. All rights reserved.
|
|
.\"
|
|
.\" Redistribution and use in source and binary forms, with or without
|
|
.\" modification, are permitted provided that the following conditions
|
|
.\" are met:
|
|
.\" 1. Redistributions of source code must retain the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer.
|
|
.\" 2. Redistributions in binary form must reproduce the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer in the
|
|
.\" documentation and/or other materials provided with the distribution.
|
|
.\" 3. Neither the name of the University nor the names of its contributors
|
|
.\" may be used to endorse or promote products derived from this software
|
|
.\" without specific prior written permission.
|
|
.\"
|
|
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
|
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
|
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
|
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
|
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
.\" SUCH DAMAGE.
|
|
.\"
|
|
.\" @(#)savecore.8 8.1 (Berkeley) 6/5/93
|
|
.\"
|
|
.Dd September 13, 2011
|
|
.Dt SAVECORE 8
|
|
.Os
|
|
.Sh NAME
|
|
.Nm savecore
|
|
.Nd save a core dump of the operating system
|
|
.Sh SYNOPSIS
|
|
.Nm
|
|
.Op Fl fvz
|
|
.Op Fl N Ar system
|
|
.Op Fl Z Ar level
|
|
.Op Ar directory
|
|
.Nm
|
|
.Fl c
|
|
.Op Fl v
|
|
.Op Fl N Ar system
|
|
.Nm
|
|
.Fl n
|
|
.Op Fl v
|
|
.Op Fl N Ar system
|
|
.Sh DESCRIPTION
|
|
When the
|
|
.Nx
|
|
kernel encounters a fatal error, the
|
|
.Xr panic 9
|
|
routine arranges for a snapshot of the contents of physical memory to
|
|
be written into a dump area, typically in the swap partition.
|
|
.Pp
|
|
Upon a subsequent reboot,
|
|
.Nm
|
|
is typically run out of
|
|
.Xr rc 8 ,
|
|
before swapping is enabled, to copy the kernel and the saved memory image
|
|
into
|
|
.Fa directory ,
|
|
and enters a reboot message and information about the core dump into
|
|
the system log.
|
|
If a directory is not specified, then
|
|
.Pa /var/crash
|
|
is used.
|
|
.Pp
|
|
The kernel and core file can then be analyzed using various tools,
|
|
including
|
|
.Xr crash 8 ,
|
|
.Xr dmesg 8 ,
|
|
.Xr fstat 1 ,
|
|
.Xr gdb 1 ,
|
|
.Xr iostat 8 ,
|
|
.Xr netstat 1 ,
|
|
.Xr ps 1 ,
|
|
and
|
|
.Xr pstat 8 ,
|
|
to attempt to deduce the cause of the crash.
|
|
.Pp
|
|
Crashes are usually the result of hardware faults or kernel bugs.
|
|
If a kernel bug is suspected, a full bug report should be filed at
|
|
.Lk http://www.netbsd.org/ ,
|
|
or using
|
|
.Xr send-pr 1 ,
|
|
containing as much information as possible about the circumstances of
|
|
the crash.
|
|
Since crash dumps are typically very large and may contain
|
|
whatever (potentially confidential) information was in memory at the
|
|
time of the crash, do
|
|
.Em NOT
|
|
include a copy of the crash dump file in the bug report; instead, save it
|
|
somewhere in the event that a
|
|
.Nx
|
|
developer wants to examine it.
|
|
.Pp
|
|
The options are as follows:
|
|
.Bl -tag -width directory
|
|
.It Fl c
|
|
Only clears the dump without saving it, so that future invocations of
|
|
.Nm
|
|
will ignore it.
|
|
.It Fl f
|
|
Forces a dump to be taken even if the dump doesn't appear correct or there
|
|
is insufficient disk space.
|
|
.It Fl n
|
|
Check whether a dump is present without taking further action.
|
|
The command exits with zero status if a dump is present, or with non-zero
|
|
status otherwise.
|
|
.It Fl N
|
|
Use
|
|
.Ar system
|
|
as the kernel instead of the default (returned by
|
|
.Xr getbootfile 3 ) .
|
|
Note that
|
|
.Xr getbootfile 3
|
|
uses
|
|
.Xr secure_path 3
|
|
to check that kernel file is
|
|
.Dq secure
|
|
and will default to
|
|
.Pa /netbsd
|
|
if the check fails.
|
|
.It Fl v
|
|
Prints out some additional debugging information.
|
|
.It Fl z
|
|
Compresses the core dump and kernel (see
|
|
.Xr gzip 1 ) .
|
|
.It Fl Z Ar level
|
|
Set the compression level for
|
|
.Fl z
|
|
to
|
|
.Ar level .
|
|
Defaults to 1 (the fastest compression mode).
|
|
Refer to
|
|
.Xr gzip 1
|
|
for more information regarding the compression level.
|
|
.El
|
|
.Pp
|
|
.Nm
|
|
checks the core dump in various ways to make sure that it is current and
|
|
that it corresponds to the currently running system.
|
|
If it passes these checks, it saves the core image in
|
|
.Ar directory Ns Pa /netbsd.#.core
|
|
and the system in
|
|
.Ar directory Ns Pa /netbsd.#
|
|
(or in
|
|
.Ar directory Ns Pa /netbsd.#.core.gz
|
|
and
|
|
.Ar directory Ns Pa /netbsd.#.gz ,
|
|
respectively, if the
|
|
.Fl z
|
|
option is used).
|
|
The
|
|
.Dq #
|
|
is the number from the first line of the file
|
|
.Ar directory Ns Pa /bounds ,
|
|
and it is incremented and stored back into the file each time
|
|
.Nm
|
|
successfully runs.
|
|
.Pp
|
|
.Nm
|
|
also checks the available disk space before attempting to make the copies.
|
|
If there is insufficient disk space in the file system containing
|
|
.Ar directory ,
|
|
or if the file
|
|
.Ar directory Ns Pa /minfree
|
|
exists and the number of free kilobytes (for non-superusers) in the
|
|
file system after the copies were made would be less than the number
|
|
in the first line of this file, the copies are not attempted.
|
|
.Pp
|
|
If
|
|
.Nm
|
|
successfully copies the kernel and the core dump, the core dump is cleared
|
|
so that future invocations of
|
|
.Nm
|
|
will ignore it.
|
|
.Sh SEE ALSO
|
|
.Xr fstat 1 ,
|
|
.Xr gdb 1 ,
|
|
.Xr gzip 1 ,
|
|
.Xr netstat 1 ,
|
|
.Xr ps 1 ,
|
|
.Xr send-pr 1 ,
|
|
.Xr crash 8 ,
|
|
.Xr dmesg 8 ,
|
|
.Xr iostat 8 ,
|
|
.Xr pstat 8 ,
|
|
.Xr rc 8 ,
|
|
.Xr syslogd 8 ,
|
|
.Xr panic 9
|
|
.Sh HISTORY
|
|
The
|
|
.Nm
|
|
command appeared in
|
|
.Bx 4.1 .
|
|
.Sh BUGS
|
|
The minfree code does not consider the effect of compression.
|