Merge from vendor branch OPENSSL:
[dragonfly.git] / contrib / top / FAQ
1                              TOP
2                           Version 3.5
3                         Beta Release 11
4
5                        William LeFebvre
6                   with much help from others
7
8
9 FREQUENTLY ASKED QUESTIONS AND THEIR ANSWERS
10
11 This FAQ is broken out in to several topics.
12
13
14 GENERAL
15
16  1.  "Where do I get the latest version of top?"
17
18 The official site for top is "ftp.groupsys.com" in the directory
19 "/pub/top".  It is also available from the following mirror sites:
20 "pharos.dgim.doc.ca" in /packages/top, "uiarchive.uiuc.edu" in
21 /pub/packages/top, "sunsite.auc.dk" in /pub/unix/top.  European
22 users should consider using the Denmark (dk) site.
23  
24  2.  "Is there a web page for top?"
25
26 Yes.  Point your browser at http://www.groupsys.com/top.  It includes
27 all documentation, a nice interactive display which describes the
28 various components of the output of top, web-based retrieval of the
29 package, year 2000 information, and pointers to the mailing list.
30
31  3.  "Is there a mailing list for top?"
32
33 The official list for announcements is "top-announce@groupsys.com".
34 This list is managed by "majordomo@groupsys.com".  Announcements of
35 importance to all top users will be sent to this list, including new
36 releases, availability of beta test versions, emergency revisions and
37 patches, etc.  Anyone is welcome to join top-announce.  This is a
38 read-only list.  The list of subscribers will not (intentionally) be
39 made available, and postings to the list are limited.
40
41 In addition, there is a top developers mailing list that is used by
42 beta testers and other people who help me port the program to various
43 machines.  Membership to this list is solely at my discretion.  If you
44 feel qualified to act as a beta tester, or if you are doing development
45 work on top (such as porting to a new platform), you may submit a
46 request by sending a message to "top-spinners-request@groupsys.com"
47 containing the word "subscribe".  I will contact you within a few days,
48 as my schedule permits.
49
50  4.  "What about Year 2000 compliance"?
51
52 Top should not experience any problems with the transition to the year
53 2000.  A full statement concerning top and the year 2000 can be found
54 in the file "Y2K" included with the distribution.
55
56
57  5.  "Why does it take so long for a new version of top to go through the
58       beta test process?"
59
60 This is completely my fault.  I have just not had the time to give top
61 the attention it deserves.  I thank everyone for their patience, and I
62 hope that with the recent changes in the direction of my career that I
63 can spend more time on this.
64
65  6.  "Top is not written in ANSI C.  Do you ever plan to change that?"
66
67 Top predates ANSI C by about 5 years.  Yeah, it'll get "fixed" eventually.  
68 Probably in 3.6.
69
70
71 CONFIGURING
72
73  7.  "Configure said that it saw /proc and is recommending that I install top
74       setuid root.  Is there any way around this?  Is it safe?"
75
76 There is no way around it.  Complain to POSIX.  Every effort has been   made 
77 to make top a secure setuid program.  However, we cannot guarantee that 
78 there are no security problems associated with this configuration.  The 
79 places where top is most vulnerable are the builtin kill and renice 
80 commands.  There is no internal top command that causes top to start a shell 
81 as a subprocess.  Some SVR4 systems may contain a bug that enables a user to 
82 renice his own processes downward (to lower nice values that are more 
83 favorable for the process).  This problem has been fixed for the Solaris 2.x 
84 modules, but may still exist in others.  We will hopefully fix this up in 
85 the next release.
86
87  8.  "Why is Configure a c-shell script?  I thought c-shell scripts were 
88       evil?"
89
90 They are.  :-)  I'll probably be rewriting the Configure script for the
91 next release, or switching to something like Gnu configure.
92
93
94 COMPILING
95
96  9.  "We just upgraded our operating system to a new version and top broke.  
97       What should we do?"
98
99 Recompile it.  Top is very sensitive to changes in internal kernel data 
100 structures.  It is not uncommon for a new version of the operating system to 
101 include changes to kernel data structures.
102
103
104 RUNNING
105
106 10.  "I just finished compiling top and it works fine for root, but when
107       I try to run it as a regular user it either complains about files
108       it can't open or it doesn't display all the information it should.
109       Did I do something wrong?"
110
111 Well, you're just not done.  On many operating systems today, access to
112 many of the kernel memory devices and other system files is restricted to
113 either root or a particular group.  The Configure script figures this out
114 (usually) and makes sure that the "intsall" rule in the Makefile will
115 install top so that anyone can run it successfully.  However, you have to
116 *install* it first.  Do this with the command "make install".
117
118 11.  "Top is (not) displaying idle processes and I don't (do) want it to."
119
120 This default has only changed about a dozen times, and I finally got tired 
121 of people whining about it.  Go read the manual page for the current version 
122 and pay special attention to the description of the "TOP" environment 
123 variable.
124
125 12.  "We have so much memory in our machine that the memory status display 
126       (the fourth line) ends up being longer than 80 characters.  This
127       completely messes up top's output.  Is there a patch?"
128
129 Most modules have been changed to use new memory formatting functions which 
130 will display large values in terms of megabytes instead of kilobytes.  This 
131 should fix all occurences of this problem.  If you encounter a system where 
132 this large memory display overflow is still occurring, please let me know 
133 (send mail to <wnl@groupsys.com>).  Also note that newer versions of top can 
134 use columns beyond 79, and understand window resizes.  So you can always 
135 make your window bigger.
136
137 13.  "I tried to compile top with gcc and it doesn't work.  I get
138       compilation errors in the include files, or I get an executable that
139       dumps core, or top displays incorrect numbers in some of the displays.
140       What's wrong?"
141
142 Gnu CC likes very much to use its own include files.  Not being a gcc
143 expert, I can't explain why it does this.  But I can tell you that if
144 you upgrade your operating system (say from Solaris 2.4 to Solaris
145 2.5) after installing gcc, then the include files that gcc uses will
146 be incorrect, especially those found in the "sys" directory.  Your
147 choices are: (1) rebuild and reinstall the "standard" include files
148 for gcc (look for scripts in the distribution called "fixincludes" and
149 "fixinc.svr4"), (2) compile machine.c with "CFLAGS=-I/usr/include"
150 then make the rest of the object files normally, or (3) use "cc".
151 Solaris 2.6 users should also consult FAQ #20.
152
153 14.  "The cpu state percentages are all wrong, indicating that my machine is 
154       using 95% system time when it is clearly idle.  What's wrong?"
155
156 This can happen if you compiled with gcc using the wrong include files.
157 See the previous question.
158
159
160 SUNOS PROBLEMS
161
162 15.  "I tried compiling top under SunOS version 4.1.x and it got compile time 
163       errors.  Is there a patch?"
164
165 If you try compiling top in a "System V environment" under SunOS (that is, 
166 /usr/5bin is before /usr/bin on your path) then the compilation may fail.  
167 This is mostly due to the fact that top thinks its being compiled on a 
168 System V machine when it really isn't. The only solution is to put /usr/bin 
169 and /usr/ucb before /usr/5bin on your path and try again.
170
171
172 SVR4-derived PROBLEMS
173
174 16.  "When I run top on my SVR4-derived operating system, it displays all
175       the system information at the top but does not display any process
176       information (or only displayes process information for my own
177       processes).  Yet when I run it as root, everything works fine."
178
179 Your system probably uses the pseudo file system "/proc", which is by 
180 default only accessible by root.  Top needs to be installed setuid root on 
181 such systems if it is going to function correctly for normal users.
182
183
184 SOLARIS PROBLEMS
185
186 17.  "Under Solaris 2, when I run top as root it only shows root processes,
187       or it only shows processes with a PID less than 1000.  It refuses to
188       show anything else.  What do I do?"
189
190 You probably compiled it with /usr/ucb/cc instead of the real C compiler.  
191 /usr/ucb/cc is a cc front end that compiles programs in BSD source-level 
192 compatability mode.  You do not want that.  Make sure that /usr/ucb is not 
193 on your path and try compiling top again.
194
195 18.  "Under Solaris 2, I compiled top using what I am sure is the correct
196       compiler but when I try to run it it complains about missing dynamic
197       libraries.  What is wrong?"
198
199 Check to see if you have LD_LIBRARY_PATH defined in your shell.  If you do, 
200 make sure that /usr/ucblib is not on the path anywhere.  Then try compiling 
201 top again.
202
203 19.  "Under Solaris 2, when I try to run top it complains that it can't open 
204       the library "libucb.so.1".  So I changed the LIBS line in m_sunos5.c
205       to include -R/usr/ucblib to make sure that the dynamic linker will look 
206       there when top runs.  I figured this was just an oversight.  Was I
207       right?"
208
209 No, you were not right.  As distributed, top requires NO alterations
210 for successful compilation and operations under any release of Solaris
211 2.  You probably compiled top with /usr/ucb/cc instead of the real C
212 compiler.  See FAQ #10 for more details.
213
214 20.  "When I try to compile top under Solaris 2.6 using gcc I get compile
215       time errors.  There appear to be problems with the include files,
216       such as 'u_rlimit has incomplete type' and/or 'u_saved_rlimit has
217       incomplete type'.  I've already run fixinc.svr4 as per FAQ #13.
218       Why didn't that fix it?"
219
220 Only top versions 3.5 and later are compatible with Solaris 2.6.  Make
221 sure you are using the most up-to-date version.  Earlier beta release
222 copies of version 3.5 had additional problems when compiled with gcc.
223 Retrieve the official version 3.5 (non-beta) release from one of the
224 sites listed in FAQ #1 or FAQ #2.
225
226
227 SCO PROBLEMS
228
229 21.  "When I try to run Configure, it complains about a syntax error."
230
231 Some versions of SCO's csh do not understand the syntax "$<".  Earlier
232 releases of top depended on this syntax to read input from the installer's
233 terminal during the installation process.  Version 3.5 fixes this.
234
235
236 SVR42 PROBLEMS
237
238 22.  "The memory display doesn't work right.  Why?"
239
240 This is a known bug with the svr42 module. The problem has been traced down 
241 to a potential bug in the "mem" driver.  The author of the svr42 module is 
242 working on a fix.
243
244
245 STILL STUCK
246
247 23.  I'm still stuck.  To whom do I report problems with top?"
248
249 The most common problems are caused by top's sensitivity to internal kernel 
250 data structures.  So make sure that you are using the right include files, 
251 and make sure that you test out top on the same machine where you compiled 
252 it.  Sun's BSD Source Compatability Mode is also a common culprit.  Make 
253 sure you aren't using either /usr/ucb/cc or any of the libraries in 
254 /usr/ucblib.  Finally, make sure you are using the correct module.  If there 
255 does not appear to be one appropriate for your computer, then top probably 
256 will not work on your system.
257
258 If after reading all of this file and checking everything you can you are 
259 still stuck, then send mail to "wnl@groupsys.com".  I will answer your mail 
260 when I have time.  Please bear with me in that regard!  If it looks like the 
261 problem is machine-specific, I will forward the report along to the module's 
262 author.  If you would like to converse directly with the module author, the 
263 authors' names are listed at the beginning of the module .c file in the 
264 "machine" directory.