xref: /freebsd/share/man/man5/core.5 (revision e6b95927f39018d10fcfc39f8236525c72b84d06)
1afe61c15SRodney W. Grimes.\" Copyright (c) 1980, 1991, 1993
2afe61c15SRodney W. Grimes.\"	The Regents of the University of California.  All rights reserved.
3afe61c15SRodney W. Grimes.\"
4afe61c15SRodney W. Grimes.\" Redistribution and use in source and binary forms, with or without
5afe61c15SRodney W. Grimes.\" modification, are permitted provided that the following conditions
6afe61c15SRodney W. Grimes.\" are met:
7afe61c15SRodney W. Grimes.\" 1. Redistributions of source code must retain the above copyright
8afe61c15SRodney W. Grimes.\"    notice, this list of conditions and the following disclaimer.
9afe61c15SRodney W. Grimes.\" 2. Redistributions in binary form must reproduce the above copyright
10afe61c15SRodney W. Grimes.\"    notice, this list of conditions and the following disclaimer in the
11afe61c15SRodney W. Grimes.\"    documentation and/or other materials provided with the distribution.
12dda5b397SEitan Adler.\" 3. Neither the name of the University nor the names of its contributors
13afe61c15SRodney W. Grimes.\"    may be used to endorse or promote products derived from this software
14afe61c15SRodney W. Grimes.\"    without specific prior written permission.
15afe61c15SRodney W. Grimes.\"
16afe61c15SRodney W. Grimes.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
17afe61c15SRodney W. Grimes.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18afe61c15SRodney W. Grimes.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19afe61c15SRodney W. Grimes.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
20afe61c15SRodney W. Grimes.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21afe61c15SRodney W. Grimes.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
22afe61c15SRodney W. Grimes.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
23afe61c15SRodney W. Grimes.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
24afe61c15SRodney W. Grimes.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
25afe61c15SRodney W. Grimes.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
26afe61c15SRodney W. Grimes.\" SUCH DAMAGE.
27afe61c15SRodney W. Grimes.\"
28afe61c15SRodney W. Grimes.\"     @(#)core.5	8.3 (Berkeley) 12/11/93
297f3dea24SPeter Wemm.\" $FreeBSD$
30afe61c15SRodney W. Grimes.\"
31*e6b95927SConrad Meyer.Dd October 5, 2015
32afe61c15SRodney W. Grimes.Dt CORE 5
333d45e180SRuslan Ermilov.Os
34afe61c15SRodney W. Grimes.Sh NAME
35afe61c15SRodney W. Grimes.Nm core
36afe61c15SRodney W. Grimes.Nd memory image file format
37afe61c15SRodney W. Grimes.Sh SYNOPSIS
3832eef9aeSRuslan Ermilov.In sys/param.h
39afe61c15SRodney W. Grimes.Sh DESCRIPTION
40afe61c15SRodney W. GrimesA small number of signals which cause abnormal termination of a process
41afe61c15SRodney W. Grimesalso cause a record of the process's in-core state to be written
42afe61c15SRodney W. Grimesto disk for later examination by one of the available debuggers.
43afe61c15SRodney W. Grimes(See
44afe61c15SRodney W. Grimes.Xr sigaction 2 . )
45aa81f3a9SJoerg WunschThis memory image is written to a file named by default
46afe61c15SRodney W. Grimes.Nm programname.core
47afe61c15SRodney W. Grimesin the working directory;
48afe61c15SRodney W. Grimesprovided the terminated process had write permission in the directory,
49afe61c15SRodney W. Grimesand provided the abnormality did not cause
50afe61c15SRodney W. Grimesa system crash.
51afe61c15SRodney W. Grimes(In this event, the decision to save the core file is arbitrary, see
52afe61c15SRodney W. Grimes.Xr savecore 8 . )
53afe61c15SRodney W. Grimes.Pp
54aa81f3a9SJoerg WunschThe maximum size of a core file is limited by
55afe61c15SRodney W. Grimes.Xr setrlimit 2 .
56afe61c15SRodney W. GrimesFiles which would be larger than the limit are not created.
57afe61c15SRodney W. Grimes.Pp
58aa81f3a9SJoerg WunschThe name of the file is controlled via the
59aa81f3a9SJoerg Wunsch.Xr sysctl 8
60aa81f3a9SJoerg Wunschvariable
61aa81f3a9SJoerg Wunsch.Va kern.corefile .
62aa81f3a9SJoerg WunschThe contents of this variable describes a filename to store
630f3ac37eSRuslan Ermilovthe core image to.
640f3ac37eSRuslan ErmilovThis filename can be absolute, or relative (which
65aa81f3a9SJoerg Wunschwill resolve to the current working directory of the program
660f3ac37eSRuslan Ermilovgenerating it).
670dce12b8SAlfred Perlstein.Pp
680dce12b8SAlfred PerlsteinThe following format specifiers may be used in the
690dce12b8SAlfred Perlstein.Va kern.corefile
700dce12b8SAlfred Perlsteinsysctl to insert additional information into the resulting core file
710dce12b8SAlfred Perlsteinname:
720dce12b8SAlfred Perlstein.Bl -tag -width "1234567890" -compact -offset "12345"
730dce12b8SAlfred Perlstein.It Em \&%H
740dce12b8SAlfred PerlsteinMachine hostname.
750dce12b8SAlfred Perlstein.It Em \&%I
760dce12b8SAlfred PerlsteinAn index starting at zero until the sysctl
77df4193e7SSergey Kandaurov.Em debug.ncores
78da9782daSSergey Kandaurovis reached.
79da9782daSSergey KandaurovThis can be useful for limiting the number of corefiles
800dce12b8SAlfred Perlsteingenerated by a particular process.
810dce12b8SAlfred Perlstein.It Em \&%N
820dce12b8SAlfred Perlsteinprocess name.
830dce12b8SAlfred Perlstein.It Em \&%P
840dce12b8SAlfred Perlsteinprocesses PID.
850dce12b8SAlfred Perlstein.It Em \&%U
860dce12b8SAlfred Perlsteinprocess UID.
870dce12b8SAlfred Perlstein.El
880dce12b8SAlfred Perlstein.Pp
890f3ac37eSRuslan ErmilovThe name defaults to
90aa81f3a9SJoerg Wunsch.Em \&%N.core ,
91b5c508fbSRuslan Ermilovyielding the traditional
92b5c508fbSRuslan Ermilov.Fx
93b5c508fbSRuslan Ermilovbehaviour.
94aa81f3a9SJoerg Wunsch.Pp
9553d3620bSNik ClaytonBy default, a process that changes user or group credentials whether
960f3ac37eSRuslan Ermilovreal or effective will not create a corefile.
970f3ac37eSRuslan ErmilovThis behaviour can be
9853d3620bSNik Claytonchanged to generate a core dump by setting the
9953d3620bSNik Clayton.Xr sysctl 8
10053d3620bSNik Claytonvariable
10153d3620bSNik Clayton.Va kern.sugid_coredump
10253d3620bSNik Claytonto 1.
1030dce12b8SAlfred Perlstein.Pp
104aa14e9b7SMark JohnstonCorefiles can be compressed by the kernel if the following item
105aa14e9b7SMark Johnstonis included in the kernel configuration file:
1060dce12b8SAlfred Perlstein.Bl -tag -width "1234567890" -compact -offset "12345"
1070dce12b8SAlfred Perlstein.It options
108aa14e9b7SMark JohnstonGZIO
1090dce12b8SAlfred Perlstein.El
1100dce12b8SAlfred Perlstein.Pp
111aa14e9b7SMark JohnstonWhen the GZIO option is included, the following sysctls control whether core
112aa14e9b7SMark Johnstonfiles will be compressed:
1130dce12b8SAlfred Perlstein.Bl -tag -width "kern.compress_user_cores_gzlevel" -compact -offset "12345"
1140dce12b8SAlfred Perlstein.It Em kern.compress_user_cores_gzlevel
115da9782daSSergey KandaurovGzip compression level.
116aa14e9b7SMark JohnstonDefaults to 6.
1170dce12b8SAlfred Perlstein.It Em kern.compress_user_cores
118da9782daSSergey KandaurovActually compress user cores.
119aa14e9b7SMark JohnstonCompressed core files will have a suffix of
120aa14e9b7SMark Johnston.Ql .gz
1210dce12b8SAlfred Perlsteinappended to them.
1220dce12b8SAlfred Perlstein.El
12314bdbaf2SConrad Meyer.Sh NOTES
12414bdbaf2SConrad MeyerCorefiles are written with open file descriptor information as an ELF note.
12514bdbaf2SConrad MeyerBy default, file paths are packed to only use as much space as needed.
12614bdbaf2SConrad MeyerHowever, file paths can change at any time, including during core dump,
12714bdbaf2SConrad Meyerand this can result in truncated file descriptor data.
12814bdbaf2SConrad Meyer.Pp
12914bdbaf2SConrad MeyerAll file descriptor information can be preserved by disabling packing.
13014bdbaf2SConrad MeyerThis potentially wastes up to PATH_MAX bytes per open fd.
13114bdbaf2SConrad MeyerPacking is disabled with
13214bdbaf2SConrad Meyer.Dl sysctl kern.coredump_pack_fileinfo=0 .
133*e6b95927SConrad Meyer.Pp
134*e6b95927SConrad MeyerSimilarly, corefiles are written with vmmap information as an ELF note, which
135*e6b95927SConrad Meyercontains file paths.
136*e6b95927SConrad MeyerBy default, they are packed to only use as much space as
137*e6b95927SConrad Meyerneeded.
138*e6b95927SConrad MeyerBy the same mechanism as for the open files note, these paths can also
139*e6b95927SConrad Meyerchange at any time and result in a truncated note.
140*e6b95927SConrad Meyer.Pp
141*e6b95927SConrad MeyerAll vmmap information can be preserved by disabling packing.
142*e6b95927SConrad MeyerLike the file information, this potentially wastes up to PATH_MAX bytes per
143*e6b95927SConrad Meyermapped object.
144*e6b95927SConrad MeyerPacking is disabled with
145*e6b95927SConrad Meyer.Dl sysctl kern.coredump_pack_vmmapinfo=0 .
146aa81f3a9SJoerg Wunsch.Sh EXAMPLES
147aa81f3a9SJoerg WunschIn order to store all core images in per-user private areas under
148aa81f3a9SJoerg Wunsch.Pa /var/coredumps ,
149aa81f3a9SJoerg Wunschthe following
150aa81f3a9SJoerg Wunsch.Xr sysctl 8
151aa81f3a9SJoerg Wunschcommand can be used:
152aa81f3a9SJoerg Wunsch.Pp
15307d6dffaSEdward Tomasz Napierala.Dl sysctl kern.corefile=/var/coredumps/\&%U/\&%N.core
154afe61c15SRodney W. Grimes.Sh SEE ALSO
155afe61c15SRodney W. Grimes.Xr gdb 1 ,
156afe61c15SRodney W. Grimes.Xr kgdb 1 ,
157c69a537cSWolfram Schneider.Xr setrlimit 2 ,
158aa81f3a9SJoerg Wunsch.Xr sigaction 2 ,
159aa81f3a9SJoerg Wunsch.Xr sysctl 8
160afe61c15SRodney W. Grimes.Sh HISTORY
161afe61c15SRodney W. GrimesA
1624b66483fSRuslan Ermilov.Nm
163afe61c15SRodney W. Grimesfile format appeared in
164afe61c15SRodney W. Grimes.At v6 .
165