|
|
1.1 ! root 1: .lg 0 ! 2: .TH ANALYZE 8 "4 February 1983" ! 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 (8V)). ! 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: .IR 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: .IR 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 \-k /vmunix /vmcore ! 89: .SH FILES ! 90: /vmunix default system namelist ! 91: .SH SEE ALSO ! 92: adb(1), ps(1), crash(8V), pstat(8) ! 93: .SH AUTHORS ! 94: Ozalp Babaoglu and William Joy ! 95: .SH DIAGNOSTICS ! 96: Various diagnostics about overlaps in swap mappings, missing swap mappings, ! 97: page table entries inconsistent with the core map, incore pages which ! 98: are marked clean but differ from disk-image copies, pages which are ! 99: locked or intransit, and inconsistencies in the free list. ! 100: .PP ! 101: It would be nice if this program analyzed the system in general, rather ! 102: 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.