|
|
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.