date and time created 86/03/02 15:30:40 by sam
[unix-history] / usr / src / old / analyze / analyze.8
CommitLineData
ae3df73c
KM
1.\" Copyright (c) 1980 Regents of the University of California.
2.\" All rights reserved. The Berkeley software License Agreement
3.\" specifies the terms and conditions for redistribution.
4.\"
b3fb625d 5.\" @(#)analyze.8 6.1 (Berkeley) %G%
ae3df73c
KM
6.\"
7.TH ANALYZE 8 ""
8.UC 4
9.lg 0
10.SH NAME
11analyze \- Virtual UNIX postmortem crash analyzer
12.SH SYNOPSIS
13.B /etc/analyze
14[
15.B \-s
16swapfile
17] [
18.B \-f
19] [
20.B \-m
21] [
22.B \-d
23] [
24.B \-D
25] [
26.B \-v
27]
28corefile
29[ system ]
30.SH DESCRIPTION
31.I Analyze
32is the post-mortem analyzer for the state of the paging system.
33In order to use
34.I analyze
35you must arrange to get a image of the memory (and possibly the
36paging area) of the system after it crashes (see
8fb12538 37.IR crash (8V)).
ae3df73c
KM
38.PP
39The
40.I analyze
41program reads the relevant system data structures from the core
42image file and indexing information from
43.B /vmunix
8fb12538 44(or the specified file)
ae3df73c
KM
45to determine the state of the paging subsystem at the point of crash.
46It looks at each process in the system, and the resources each is
47using in an attempt to determine inconsistencies in the paging system
48state. Normally, the output consists of a sequence of lines showing
49each active process, its state (whether swapped in or not), its
8fb12538 50.IR p0br ,
ae3df73c
KM
51and the number and location of its page table pages.
52Any pages which are locked while raw i/o is in progress, or which
53are locked because they are
54.I intransit
55are also printed. (Intransit text pages often diagnose as duplicated;
56you will have to weed these out by hand.)
57.PP
58The program checks that any pages in core which are marked as not
59modified are, in fact, identical to the swap space copies.
60It also checks for non-overlap of the swap space, and that the core
61map entries correspond to the page tables.
62The state of the free list is also checked.
63.PP
64Options to
8fb12538 65.IR analyze :
ae3df73c
KM
66.TP
67.B \-D
68causes the diskmap for each process to be printed.
69.TP
70.B \-d
71causes the (sorted) paging area usage to be printed.
72.TP
73.B \-f
74which causes the free list to be dumped.
75.TP
76.B \-m
77causes the entire coremap state to be dumped.
78.TP
79.B \-v
80(long unused) which causes a hugely verbose output format to be used.
81.PP
82In general, the output from this program can be confused by processes
83which were forking, swapping, or exiting or
84happened to be in unusual states when the
85crash occurred. You should examine the flags fields of relevant processes
86in the output of a
87.IR pstat (8)
88to weed out such processes.
89.PP
90It is possible to look at the core dump with
91.I adb
92if you do
93.IP
8fb12538 94adb \-k /vmunix /vmcore
ae3df73c
KM
95.SH FILES
96/vmunix default system namelist
97.SH SEE ALSO
8fb12538 98adb(1), ps(1), crash(8V), pstat(8)
ae3df73c
KM
99.SH AUTHORS
100Ozalp Babaoglu and William Joy
101.SH DIAGNOSTICS
102Various diagnostics about overlaps in swap mappings, missing swap mappings,
103page table entries inconsistent with the core map, incore pages which
104are marked clean but differ from disk-image copies, pages which are
105locked or intransit, and inconsistencies in the free list.
106.PP
107It would be nice if this program analyzed the system in general, rather
108than just the paging system in particular.