Annotation of researchv10dc/man/manb/analyze.8, revision 1.1.1.1

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

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.