2001-11-16 14:21:37 +03:00
|
|
|
.\" $NetBSD: savecore.8,v 1.26 2001/11/16 11:21:39 wiz Exp $
|
1995-03-18 17:54:19 +03:00
|
|
|
.\"
|
1994-06-10 17:35:24 +04:00
|
|
|
.\" Copyright (c) 1980, 1991, 1993
|
|
|
|
.\" The Regents of the University of California. All rights reserved.
|
1993-03-21 12:45:37 +03:00
|
|
|
.\"
|
|
|
|
.\" 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. All advertising materials mentioning features or use of this software
|
|
|
|
.\" must display the following acknowledgement:
|
|
|
|
.\" This product includes software developed by the University of
|
|
|
|
.\" California, Berkeley and its contributors.
|
|
|
|
.\" 4. 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.
|
|
|
|
.\"
|
1995-03-18 17:54:19 +03:00
|
|
|
.\" @(#)savecore.8 8.1 (Berkeley) 6/5/93
|
1993-03-22 11:04:00 +03:00
|
|
|
.\"
|
2001-09-12 06:58:29 +04:00
|
|
|
.Dd September 12, 2001
|
1993-03-21 12:45:37 +03:00
|
|
|
.Dt SAVECORE 8
|
2001-06-05 15:22:41 +04:00
|
|
|
.Os
|
1993-03-21 12:45:37 +03:00
|
|
|
.Sh NAME
|
|
|
|
.Nm savecore
|
2001-08-20 18:23:59 +04:00
|
|
|
.Nd save a core dump of the operating system
|
1993-03-21 12:45:37 +03:00
|
|
|
.Sh SYNOPSIS
|
1997-09-15 15:08:44 +04:00
|
|
|
.Nm
|
1994-06-10 17:35:24 +04:00
|
|
|
.Fl c
|
1997-10-20 13:11:16 +04:00
|
|
|
.Nm ""
|
1994-06-10 17:35:24 +04:00
|
|
|
.Op Fl fvz
|
|
|
|
.Op Fl N Ar system
|
2001-09-12 06:58:29 +04:00
|
|
|
.Op Fl Z Ar level
|
1994-06-10 17:35:24 +04:00
|
|
|
.Ar directory
|
1993-03-21 12:45:37 +03:00
|
|
|
.Sh DESCRIPTION
|
1999-11-20 22:57:01 +03:00
|
|
|
When the
|
2001-04-03 15:17:31 +04:00
|
|
|
.Nx
|
|
|
|
kernel encounters a fatal error, the
|
1999-11-20 22:57:01 +03:00
|
|
|
.Xr panic 9
|
|
|
|
routine arranges for a snapshot of the contents of physical memory to
|
2001-04-03 15:17:31 +04:00
|
|
|
be written into a dump area, typically in the swap partition.
|
1999-11-20 22:57:01 +03:00
|
|
|
.Pp
|
|
|
|
Upon a subsequent reboot,
|
1997-09-15 15:08:44 +04:00
|
|
|
.Nm
|
2001-04-03 15:17:31 +04:00
|
|
|
is typically run out of
|
1999-11-20 22:57:01 +03:00
|
|
|
.Xr rc 8 ,
|
|
|
|
before swapping is enabled, to copy the kernel and the saved memory image
|
|
|
|
into
|
1994-06-10 17:35:24 +04:00
|
|
|
.Fa directory ,
|
|
|
|
and enters a reboot message and information about the core dump into
|
|
|
|
the system log.
|
1993-03-21 12:45:37 +03:00
|
|
|
.Pp
|
1999-11-20 22:57:01 +03:00
|
|
|
The kernel and core file can then be analyzed using various tools,
|
|
|
|
including
|
|
|
|
.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 kernel bugs; if this is suspected, a
|
|
|
|
full bug report should be filed using
|
2001-04-03 15:17:31 +04:00
|
|
|
.Xr send-pr 1 ,
|
1999-11-20 22:57:01 +03:00
|
|
|
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
|
2001-04-03 15:17:31 +04:00
|
|
|
somewhere in the event that a
|
|
|
|
.Nx
|
1999-11-20 22:57:01 +03:00
|
|
|
developer wants to examine it.
|
|
|
|
.Pp
|
1994-06-10 17:35:24 +04:00
|
|
|
The options are as follows:
|
|
|
|
.Bl -tag -width directory
|
|
|
|
.It Fl c
|
1999-09-17 14:20:01 +04:00
|
|
|
Only clears the dump without saving it, so that future invocations of
|
1997-09-15 15:08:44 +04:00
|
|
|
.Nm
|
1994-06-10 17:35:24 +04:00
|
|
|
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
|
|
|
|
Use
|
|
|
|
.Ar system
|
2001-06-14 03:24:32 +04:00
|
|
|
as the kernel instead of the default (returned by
|
|
|
|
.Xr getbootfile 3 ) .
|
2001-11-16 13:25:42 +03:00
|
|
|
Note that
|
2001-08-20 18:23:59 +04:00
|
|
|
.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.
|
1994-06-10 17:35:24 +04:00
|
|
|
.It Fl v
|
|
|
|
Prints out some additional debugging information.
|
|
|
|
.It Fl z
|
|
|
|
Compresses the core dump and kernel (see
|
2001-04-03 15:17:31 +04:00
|
|
|
.Xr gzip 1 ) .
|
2001-09-12 06:58:29 +04:00
|
|
|
.It Fl Z Ar level
|
|
|
|
Set the compression level for
|
|
|
|
.Fl z
|
|
|
|
to
|
|
|
|
.Ar level .
|
2001-09-12 07:14:08 +04:00
|
|
|
Defaults to 1 (the fastest compression mode).
|
2001-09-12 06:58:29 +04:00
|
|
|
Refer to
|
|
|
|
.Xr gzip 1
|
|
|
|
for more information regarding the compression level.
|
1993-03-21 12:45:37 +03:00
|
|
|
.El
|
|
|
|
.Pp
|
1997-09-15 15:08:44 +04:00
|
|
|
.Nm
|
1994-06-10 17:35:24 +04:00
|
|
|
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
|
1995-06-28 02:40:46 +04:00
|
|
|
.Ar directory Ns Pa /netbsd.#.core
|
1994-06-10 17:35:24 +04:00
|
|
|
and the system in
|
|
|
|
.Ar directory Ns Pa /netbsd.#
|
1995-06-28 02:40:46 +04:00
|
|
|
(or in
|
2001-01-03 00:39:37 +03:00
|
|
|
.Ar directory Ns Pa /netbsd.#.core.gz
|
1995-06-28 02:40:46 +04:00
|
|
|
and
|
2001-01-03 00:39:37 +03:00
|
|
|
.Ar directory Ns Pa /netbsd.#.gz ,
|
1995-06-28 02:40:46 +04:00
|
|
|
respectively, if the
|
|
|
|
.Fl z
|
|
|
|
option is used).
|
1994-06-10 17:35:24 +04:00
|
|
|
The ``#'' 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
|
1997-09-15 15:08:44 +04:00
|
|
|
.Nm
|
1994-06-10 17:35:24 +04:00
|
|
|
successfully runs.
|
1993-03-21 12:45:37 +03:00
|
|
|
.Pp
|
1997-09-15 15:08:44 +04:00
|
|
|
.Nm
|
1994-06-10 17:35:24 +04:00
|
|
|
also checks the available disk space before attempting to make the copies.
|
2001-08-20 18:23:59 +04:00
|
|
|
If there is insufficient disk space in the file system containing
|
1994-06-10 17:35:24 +04:00
|
|
|
.Ar directory ,
|
|
|
|
or if the file
|
|
|
|
.Ar directory Ns Pa /minfree
|
|
|
|
exists and the number of free kilobytes (for non-superusers) in the
|
2001-08-20 18:23:59 +04:00
|
|
|
file system after the copies were made would be less than the number
|
1994-06-10 17:35:24 +04:00
|
|
|
in the first line of this file, the copies are not attempted.
|
|
|
|
.Pp
|
|
|
|
If
|
1997-09-15 15:08:44 +04:00
|
|
|
.Nm
|
1994-06-10 17:35:24 +04:00
|
|
|
successfully copies the kernel and the core dump, the core dump is cleared
|
|
|
|
so that future invocations of
|
1997-09-15 15:08:44 +04:00
|
|
|
.Nm
|
1994-06-10 17:35:24 +04:00
|
|
|
will ignore it.
|
|
|
|
.Sh SEE ALSO
|
1999-11-20 22:57:01 +03:00
|
|
|
.Xr fstat 1 ,
|
|
|
|
.Xr gdb 1 ,
|
2001-01-03 00:39:37 +03:00
|
|
|
.Xr gzip 1 ,
|
1999-11-20 22:57:01 +03:00
|
|
|
.Xr netstat 1 ,
|
2001-04-03 15:17:31 +04:00
|
|
|
.Xr ps 1 ,
|
2001-08-20 18:23:59 +04:00
|
|
|
.Xr send-pr 1 ,
|
|
|
|
.Xr secure_path 3 ,
|
2001-06-14 03:24:32 +04:00
|
|
|
.Xr dmesg 8 ,
|
|
|
|
.Xr iostat 8 ,
|
2001-04-03 15:17:31 +04:00
|
|
|
.Xr pstat 8 ,
|
1999-11-20 22:57:01 +03:00
|
|
|
.Xr rc 8 ,
|
2001-06-14 03:24:32 +04:00
|
|
|
.Xr syslogd 8 ,
|
|
|
|
.Xr panic 9
|
1993-03-21 12:45:37 +03:00
|
|
|
.Sh HISTORY
|
|
|
|
The
|
|
|
|
.Nm
|
|
|
|
command appeared in
|
|
|
|
.Bx 4.1 .
|
2001-11-16 14:21:37 +03:00
|
|
|
.Sh BUGS
|
|
|
|
The minfree code does not consider the effect of compression.
|