|
|
1.1 ! root 1: ! 2: ! 3: ! 4: ANALYZE(8) UNIX Programmer's Manual ANALYZE(8) ! 5: ! 6: ! 7: ! 8: NAME ! 9: analyze - Virtual UNIX postmortem crash analyzer ! 10: ! 11: SYNOPSIS ! 12: /etc/analyze [ -s swapfile ] [ -f ] [ -m ] [ -d ] [ -D ] [ ! 13: -v ] corefile [ system ] ! 14: ! 15: DESCRIPTION ! 16: _A_n_a_l_y_z_e is the post-mortem analyzer for the state of the ! 17: paging system. In order to use _a_n_a_l_y_z_e you must arrange to ! 18: get a image of the memory (and possibly the paging area) of ! 19: the system after it crashes (see _c_r_a_s_h(8V)). ! 20: ! 21: The _a_n_a_l_y_z_e program reads the relevant system data struc- ! 22: tures from the core image file and indexing information from ! 23: /vmunix (or the specified file) to determine the state of ! 24: the paging subsystem at the point of crash. It looks at ! 25: each process in the system, and the resources each is using ! 26: in an attempt to determine inconsistencies in the paging ! 27: system state. Normally, the output consists of a sequence ! 28: of lines showing each active process, its state (whether ! 29: swapped in or not), its _p_0_b_r, and the number and location of ! 30: its page table pages. Any pages which are locked while raw ! 31: i/o is in progress, or which are locked because they are ! 32: _i_n_t_r_a_n_s_i_t are also printed. (Intransit text pages often ! 33: diagnose as duplicated; you will have to weed these out by ! 34: hand.) ! 35: ! 36: The program checks that any pages in core which are marked ! 37: as not modified are, in fact, identical to the swap space ! 38: copies. It also checks for non-overlap of the swap space, ! 39: and that the core map entries correspond to the page tables. ! 40: The state of the free list is also checked. ! 41: ! 42: Options to _a_n_a_l_y_z_e: ! 43: ! 44: -D causes the diskmap for each process to be printed. ! 45: ! 46: -d causes the (sorted) paging area usage to be printed. ! 47: ! 48: -f which causes the free list to be dumped. ! 49: ! 50: -m causes the entire coremap state to be dumped. ! 51: ! 52: -v (long unused) which causes a hugely verbose output for- ! 53: mat to be used. ! 54: ! 55: In general, the output from this program can be confused by ! 56: processes which were forking, swapping, or exiting or hap- ! 57: pened to be in unusual states when the crash occurred. You ! 58: should examine the flags fields of relevant processes in the ! 59: output of a _p_s_t_a_t(8) to weed out such processes. ! 60: ! 61: ! 62: ! 63: Printed 7/26/87 April 27, 1985 1 ! 64: ! 65: ! 66: ! 67: ! 68: ! 69: ! 70: ANALYZE(8) UNIX Programmer's Manual ANALYZE(8) ! 71: ! 72: ! 73: ! 74: It is possible to look at the core dump with _a_d_b if you do ! 75: ! 76: adb -k /vmunix /vmcore ! 77: ! 78: FILES ! 79: /vmunix default system namelist ! 80: ! 81: SEE ALSO ! 82: adb(1), ps(1), crash(8V), pstat(8) ! 83: ! 84: AUTHORS ! 85: Ozalp Babaoglu and William Joy ! 86: ! 87: DIAGNOSTICS ! 88: Various diagnostics about overlaps in swap mappings, missing ! 89: swap mappings, page table entries inconsistent with the core ! 90: map, incore pages which are marked clean but differ from ! 91: disk-image copies, pages which are locked or intransit, and ! 92: inconsistencies in the free list. ! 93: ! 94: It would be nice if this program analyzed the system in gen- ! 95: eral, rather than just the paging system in particular. ! 96: ! 97: ! 98: ! 99: ! 100: ! 101: ! 102: ! 103: ! 104: ! 105: ! 106: ! 107: ! 108: ! 109: ! 110: ! 111: ! 112: ! 113: ! 114: ! 115: ! 116: ! 117: ! 118: ! 119: ! 120: ! 121: ! 122: ! 123: ! 124: ! 125: ! 126: ! 127: ! 128: ! 129: Printed 7/26/87 April 27, 1985 2 ! 130: ! 131: ! 132:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.