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