Commit | Line | Data |
---|---|---|
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 | |
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 | |
8fb12538 | 37 | .IR crash (8V)). |
ae3df73c KM |
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 | |
8fb12538 | 44 | (or the specified file) |
ae3df73c KM |
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 | |
8fb12538 | 50 | .IR p0br , |
ae3df73c KM |
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 | |
8fb12538 | 65 | .IR analyze : |
ae3df73c KM |
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 | |
8fb12538 | 94 | adb \-k /vmunix /vmcore |
ae3df73c KM |
95 | .SH FILES |
96 | /vmunix default system namelist | |
97 | .SH SEE ALSO | |
8fb12538 | 98 | adb(1), ps(1), crash(8V), pstat(8) |
ae3df73c KM |
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. |