Annotation of researchv10dc/man/manb/analyze.8, revision 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.