1 | TOP |
---|
2 | Version 3.4 |
---|
3 | |
---|
4 | William LeFebvre |
---|
5 | and a cast of dozens |
---|
6 | |
---|
7 | |
---|
8 | If you do not want to read this entire file, then at least read |
---|
9 | the section at the end entitled "KNOWN PROBLEMS". |
---|
10 | |
---|
11 | If you are having any problems getting top to work, please read the |
---|
12 | file "FAQ" *before* contacting me. Thank you. |
---|
13 | |
---|
14 | "top" is a program that will give continual reports about the state of |
---|
15 | the system, including a list of the top cpu using processes. Version 3 |
---|
16 | of "top" has three primary design goals: provide an accurate snapshot of |
---|
17 | the system and process state, not be one of the top processes itself, be |
---|
18 | as portable as possible. |
---|
19 | |
---|
20 | Version 3 has many bug fixes from version 2.5, and it has also been |
---|
21 | reorganized in a major way to make it easy to port to other platforms. |
---|
22 | All system dependent code is now contained in one file. |
---|
23 | |
---|
24 | Top now includes a configuration script called "Configure". It helps |
---|
25 | the installer choose the correct parameters for this particular |
---|
26 | installation. This script MUST be run before attempting to compile top. |
---|
27 | |
---|
28 | Top requires read access to the memory files "/dev/kmem" and "/dev/mem" |
---|
29 | as well as the system image "/vmunix". Some installations have these |
---|
30 | files protected from general access. These sites would have to install |
---|
31 | this program in the same way that programs such as "ps" are installed. |
---|
32 | In addition, on those Unix variants that support the proc filesystem |
---|
33 | (such as SVR4 and Solaris 2), top requires read access to all the files |
---|
34 | in /proc: typically dictating that top be installed setuid to root. |
---|
35 | |
---|
36 | CAVEAT: version 3 of top has internal commands that kill and renice |
---|
37 | processes. Although I have taken steps to insure that top makes |
---|
38 | appropriate checks with these commands, I cannot guarantee that these |
---|
39 | internal commands are totally secure. IF YOU INSTALL top as a SETUID |
---|
40 | program, you do so AT YOUR OWN RISK! I realize that some operating |
---|
41 | systems will require top to run setuid, and I will do everything I can |
---|
42 | to make sure that top is a secure setuid program. |
---|
43 | |
---|
44 | Configure will ask you to input values for certain parameters. Before |
---|
45 | each parameter, Configure will display a description of what the |
---|
46 | parameter does. Read the description and choose an appropriate value. |
---|
47 | Sometimes a default will appear in brackets. Typing just return will |
---|
48 | choose the default. |
---|
49 | |
---|
50 | System support now takes the form of "modules". Adding support for |
---|
51 | a different architecture requires only adding a module. Configure |
---|
52 | asks which module to use when it is configuring top. See the file |
---|
53 | "Porting" for a description of how to write your own module. |
---|
54 | |
---|
55 | To compile and install "top", read the file "INSTALL" and follow the |
---|
56 | directions and advice contained therein. |
---|
57 | |
---|
58 | Once you have created a binary for one particular type of machine, you |
---|
59 | can reconfigure for another type with "./Configure modulename" where |
---|
60 | "modulename" is replaced with the appropriate module name. All other |
---|
61 | parameter values are kept the same. Note that in some cases this may |
---|
62 | not be appropriate. |
---|
63 | |
---|
64 | If you make any kind of change to "top" that you feel would be |
---|
65 | beneficial to others who use this program, or if you find and fix a bug, |
---|
66 | please send me the change. |
---|
67 | |
---|
68 | Be sure to read the FAQ enclosed with the distrubution. It contains |
---|
69 | answers to the most commonly asked questions about the configuration, |
---|
70 | installation, and operation of top. |
---|
71 | |
---|
72 | AVAILABILITY |
---|
73 | |
---|
74 | The latest version of "top" is now being made available via anonymous |
---|
75 | FTP from the host "ftp.groupsys.com" in the directory "/pub/top". |
---|
76 | Additional modules will be made available in the directory |
---|
77 | "/pub/top/m". The site "eecs.nwu.edu" will continue to house copies |
---|
78 | of the distribution as well. |
---|
79 | |
---|
80 | Here are HTML links for the two best "top" archive sites: |
---|
81 | |
---|
82 | <A HREF="ftp://ftp.groupsys.com/pub/top>Top archive (groupsys.com)</A> |
---|
83 | <A HREF="ftp://eecs.nwu.edu/pub/top>Top archive (eecs.nwu.edu)</A> |
---|
84 | |
---|
85 | New releases will be posted to comp.sources.unix as they become |
---|
86 | available. Sites which arhive that newsgroup will also contain copies |
---|
87 | of the distribution. |
---|
88 | |
---|
89 | KNOWN PROBLEMS: |
---|
90 | |
---|
91 | Gnu CC |
---|
92 | |
---|
93 | Compiling via Gnu CC continued to be the source of most of the |
---|
94 | questions I receive. By far the most common mistake made by those |
---|
95 | attempting to compile top with Gnu CC is out of date include files. |
---|
96 | When the operating system is upgraded, the include files that are part |
---|
97 | of the gcc package MUST also be updated. Gcc maintains its own |
---|
98 | include files. Even a minor OS upgrade can involve changes to some of |
---|
99 | the kernel's internal data structures, which are defined in include |
---|
100 | files in "sys". Top is very sensitive to these changes. If you are |
---|
101 | compiling with gcc and experience any sort of strange problems, please |
---|
102 | make sure the include files you are using are up to date BEFORE |
---|
103 | sending me a bug report. Look in the gcc source distribution for the |
---|
104 | shell script "fixincludes". |
---|
105 | |
---|
106 | HP/UX 10.10 |
---|
107 | |
---|
108 | In their infinite wisdom, the folks at HP have decided that mere mortals |
---|
109 | such as you and I don't need to know what the kernel's proc structure looks |
---|
110 | like. To that end, they have removed all useful content from the include |
---|
111 | file <sys/proc.h> in version 10.10. As a result, top will not compile |
---|
112 | under 10.10. What HP is trying to accomplish with this move is to force |
---|
113 | iconoclasts such as myself to use "pstat" for collecting all process |
---|
114 | information. I have no immediate solution for this problem, but hope to |
---|
115 | obtain a sufficiently complete definition of "struct proc" at some point in |
---|
116 | the near future. Stay tuned. |
---|
117 | |
---|
118 | DIGITAL UNIX 4.0 (DECOSF/1 V4.0) |
---|
119 | |
---|
120 | A user has reported that idle processes are not displayed regardless |
---|
121 | of the flags used when invoking top. We have not had time to track |
---|
122 | this problem down. |
---|
123 | |
---|
124 | DECOSF/1 V3.0 |
---|
125 | |
---|
126 | There is a bug either in the module, in utils.c, or in DEC's optimizer that |
---|
127 | is tickled by the decosf1 module when compiled under V3.0 (and perhaps |
---|
128 | earlier versions). Top compiled using DEC's compiler with optimization |
---|
129 | will consistently produce a segmentation fault (in format_next_process |
---|
130 | while calling sprintf). To work around this problem, either compile top |
---|
131 | with gcc or turn off optimization (compile without -O). We think that |
---|
132 | one of the bugs fixed in utils.c fixed this problem as well, but we are |
---|
133 | not certain. |
---|
134 | |
---|
135 | |
---|
136 | System V R 4.2 |
---|
137 | |
---|
138 | Load average and memory displays do not work. The problem has been |
---|
139 | traced down to a potential bug in the "mem" driver. The author |
---|
140 | of the svr42 module is working on a fix. |
---|
141 | |
---|
142 | |
---|
143 | |
---|
144 | GRATITUDE |
---|
145 | |
---|
146 | My perpetual thanks to all the people who have helped me support top |
---|
147 | on so many platforms. Without these people, top would not be what it |
---|
148 | is. Here is a partial list of contributors and other individuals. |
---|
149 | |
---|
150 | Robert Boucher <boucher@sofkin.ca> |
---|
151 | Marc Cohen <marc@aai.com> |
---|
152 | David Cutter <dpc@grail.com> |
---|
153 | Casper Dik <casper@fwi.uva.nl> |
---|
154 | Charles Hedrick <hedrick@geneva.rutgers.edu> |
---|
155 | Andrew Herbert <andrew@werple.apana.org.au> |
---|
156 | Jeff Janvrin <jeff.janvrin@columbiasc.ncr.com> |
---|
157 | Torsten Kasch <torsten@techfak.uni-bielefeld.de> |
---|
158 | Petri Kutvonen <kutvonen@cs.helsinki.fi> |
---|
159 | William L. Jones <jones@chpc> |
---|
160 | Tim Pugh <tpugh@oce.orst.edu> |
---|
161 | Steve Scherf <scherf@swdc.stratus.com> |
---|
162 | Phillip Wu <pwu01@qantek.com.au> |
---|
163 | |
---|
164 | (My apologies if I missed anyone.) |
---|
165 | |
---|
166 | |
---|
167 | AUTHOR |
---|
168 | |
---|
169 | William LeFebvre |
---|
170 | Group sys Consulting |
---|
171 | wnl@groupsys.com |
---|
172 | |
---|
173 | |
---|
174 | U.S. Mail address: |
---|
175 | William LeFebvre |
---|
176 | 170 Colton Crest Drive |
---|
177 | Alpharetta, GA 30202 |
---|
178 | (770) 813-3224 |
---|