xref: /minix/external/bsd/top/dist/FAQ (revision b89261ba)
1                                        TOP
2                                  Version 3.8beta1
3
4                                  William LeFebvre
5                             with much help from others
6
7                    Frequently Asked Questions and their Answers
8
9
10
11     GENERAL
12
13 1.  What is top?
14
15     Top provies the user with a regularly updated display showing
16     information about the system and its top cpu-using processes. Think
17     of it as a full-screen "ps" output that gets updated at regular
18     intervals.
19
20 2.  Where do I get the latest version of top?
21
22     The official site for top is "ftp.unixtop.org" in the directory
23     "/pub/top". Top is also a SourceForge project, and the most recent
24     releases are available on any of the SourceForge mirrors. The
25     SourceForge project page is at
26     http://sourceforge.net/projects/unixtop.
27
28 3.  Is there a web page for top?
29
30     Yes. Point your browser at http://www.unixtop.org. It includes all
31     documentation, a nice interactive display which describes the various
32     components of the output of top, web-based retrieval of the package,
33     year 2000 information, and other neat stuff.
34
35 4.  Is there a mailing list or on-line bulletin board for top?
36
37     There is a mailing list used for general announcements regarding top,
38     including new releases. This mailing list is available to sourceforge
39     members and can be accessed from the unixtop sourceforge project
40     page. Visit SourceForge and search for the project "unixtop", then
41     click on "mailing lists". There are also on-line forums available
42     through SourceForge where members can post questions and comments.
43
44 5.  What about Year 2000 compliance?
45
46     Top did not experience any problems with the transition to the year
47     2000. A full statement concerning top and the year 2000 can be found
48     in the file "Y2K" included with the distribution.
49
50 6.  Will there be another major release of top? Will there be a top
51     version 4?
52
53     I have some great ideas for the next major release of top, and I very
54     much want to make those ideas a reality. What I don't have much of
55     these days is free time. But I will keep poking at it and I hope to
56     have top version 4.0 ready by the fall of 2006.
57
58 7.  Does top really support multi-processor systems?
59
60     On platforms that support multiple processors, top is able to detect
61     and correctly summarize the information about those processors. What
62     top does not do is break down the cpu states summary (the third line
63     of the display) by cpu. Instead it collects the cpu state information
64     from all processors and combines them in to a single line. Some
65     vendors  include a modified version of top that presents this
66     information for each cpu. Top 3.7 may have this functionality but it
67     is not present in the standard top 3.6 release.
68
69 8.  Is top under CVS control? Can I access the sources via SourceForge
70     CVS or Subversion?
71
72     I maintain top using subversion, not CVS. Although I utilize my own
73     private subversion repository, it is regularly mirrored in to the
74     SourceForge Subversion repository. You can access the SourceForge
75     repository here: https://svn.unixtop.org/unixtop/top-3.
76
77
78     COMPILING
79
80 9.  We just upgraded our operating system to a new version and top broke.
81     What should we do?
82
83     Recompile it. Top is very sensitive to changes in internal kernel
84     data structures. It is not uncommon for a new version of the
85     operating system to include changes to kernel data structures.
86
87
88     RUNNING
89
9010.  I just finished compiling top and it works fine for root, but when I
91     try to run it as a regular user it either complains about files it
92     can't open or it doesn't display all the information it should. Did I
93     do something wrong?
94
95     Well, you're just not done. On many operating systems today, access
96     to many of the kernel memory devices and other system files is
97     restricted to either root or a particular group. The configure script
98     figures this out (usually) and makes sure that the "install" rule in
99     the Makefile will install top so that anyone can run it successfully.
100     However, you have to *install* it first. Do this with the command
101     "make install".
102
10311.  Top is (not) displaying idle processes and I don't (do) want it to.
104
105     This default has only changed about a dozen times, and I finally got
106     tired of people whining about it. Go read the manual page for the
107     current version and pay special attention to the description of the
108     "TOP" environment variable.
109
11012.  We have so much memory in our machine that the memory status display
111     (the fourth line) ends up being longer than 80 characters. This
112     completely messes up top's output. Is there a patch?
113
114     Most modules have been changed to use new memory formatting functions
115     which will display large values in terms of megabytes instead of
116     kilobytes. This should fix all occurences of this problem. Also note
117     that newer versions of top can use columns beyond 79, and understand
118     window resizes. So you can always make your window wider.
119
12013.  I tried to compile top with gcc and it doesn't work. I get
121     compilation errors in the include files, or I get an executable that
122     dumps core, or top displays incorrect numbers in some of the
123     displays. What's wrong?
124
125     Gnu CC likes very much to use its own include files. Not being a gcc
126     expert, I can't explain why it does this. But I can tell you that if
127     you upgrade your operating system (say from Solaris 2.6 to Solaris
128     2.7) after installing gcc, then the include files that gcc uses will
129     be incorrect, especially those found in the "sys" directory. Your
130     choices are: (1) rebuild and reinstall the "standard" include files
131     for gcc (look for scripts in the distribution called "fixincludes"
132     and "fixinc.svr4"), (2) compile machine.c with
133     "CFLAGS=-I/usr/include" then make the rest of the object files
134     normally, or (3) use a different compiler.
135
13614.  The cpu state percentages are all wrong, indicating that my machine
137     is using 95% system time when it is clearly idle. What's wrong?
138
139     This can happen if you compiled with gcc using the wrong include
140     files. See the previous question.
141
142
143     FREEBSD PROBLEMS
144
14515.  This version of top does not show individual threads with the "t" or
146     "H" commands. Instead it says "command not available." Why?
147
148     Previous versions of top attempted to support the display of
149     individual threads under FreeBSD through the use of the "t" command.
150     However,  the FreeBSD kernel does not supply sufficient or correct
151     information on the individual threads within a process. So the data
152     that was being displayed was incorrect and misleading. Therefore, top
153     version 3.8 disables the use of this command to prevent the display
154     of incorrect information. FreeBSD 8.0 will correctly report
155     per-thread information and top version 3.8 supports the use of the
156     "t" command for version 8.0.
157
15816.  The "f" command (to display full command lines for the processes)
159     does not work and instead says "command not available". Why?
160
161     The current version of top is able to use sysctl to retrieve almost
162     all of the information it needs without having to open /dev/kmem. The
163     one piece of information not available via sysctl is the full command
164     line of each argument. If you run top as a regular user and it cannot
165     open /dev/kmem (in other words, it is not installed set-gid to the
166     kmem group) then it will disable the "f" command. Make sure the top
167     binary is installed with a group ownership of "kmem" and with the
168     set-gid bit on if you want the "f" command to work properly.
169
170
171     MACOSX PROBLEMS
172
17317.  I tried to configure top on my Mac OSX system and I got an error
174     claiming "macosx not supported". What up?
175
176     Since I don't have full time root access to a Mac OSX system I cannot
177     provide effective support for the platform. MacOSX uses Mach, and it
178     is very difficult to extract accurate system and process information
179     from the system. It takes a lot of trial and error, along with root
180     access. I have included the most up-to-date version of the macosx
181     module in the distribution, but I do not claim that it works. If you
182     want to try to use it, you can configure with "./configure
183     --with-module=macosx".
184
185
186     SUNOS PROBLEMS
187
18818.  I tried compiling top under SunOS version 4.1.x and it got compile
189     time errors or run time errors. Is there a patch?
190
191     If you try compiling top in a "System V environment" under SunOS
192     (that is, /usr/5bin is before /usr/bin on your path) then the
193     compilation may fail. This is mostly due to the fact that top thinks
194     its being compiled on a System V machine when it really isn't. The
195     only solution is to put /usr/bin and /usr/ucb before /usr/5bin on
196     your path and try again.
197
198
199     SOLARIS PROBLEMS
200
201
202     NOTE: the most common source of problems with top under Solaris is
203     the result of compiling it with the wrong front end. Make sure that
204     /usr/ucb is not on your path before attempting to compile top under
205     Solaris.
206
20719.  Is there somewhere I can get a pre-compiled package?
208
209     Yes. Although I don't provide pre-compiled binaries, you can get a
210     Sun-style package from www.sunfreeware.com.
211
21220.  Under Solaris 2, when I type "make", the system says "language
213     optional software package not installed." What's going on?
214
215     You tried to compile with /usr/ucb/cc. Make sure /usr/ucb is not on
216     your path. Furthermore, you do not have a Sun compiler installed on
217     your system. You need a compiler to make top. Either Sun's C compiler
218     or the Gnu C compiler will work fine.
219
22021.  Under Solaris 2, when I run top as root it only shows root processes,
221     or it only shows processes with a PID less than 1000. It refuses to
222     show anything else. What do I do?
223
224     You probably compiled it with /usr/ucb/cc instead of the real C
225     compiler. /usr/ucb/cc is a cc front end that compiles programs in BSD
226     source-level compatability mode. You do not want that. Make sure that
227     /usr/ucb is not on your path and try compiling top again.
228
22922.  Under Solaris 2, I compiled top using what I am sure is the correct
230     compiler but when I try to run it it complains about missing dynamic
231     libraries. What is wrong?
232
233     Check to see if you have LD_LIBRARY_PATH defined in your shell. If
234     you do, make sure that /usr/ucblib is not on the path anywhere. Then
235     try compiling top again.
236
23723.  Under Solaris 2, when I try to run top it complains that it can't
238     open the library "libucb.so.1". So I changed the LIBS line in
239     m_sunos5.c to include -R/usr/ucblib to make sure that the dynamic
240     linker will look there when top runs. I figured this was just an
241     oversight. Was I right?
242
243     No, you were not right. As distributed, top requires no alterations
244     for successful compilation and operations under any release of
245     Solaris 2. You probably compiled top with /usr/ucb/cc instead of the
246     real C compiler. See FAQ 22 for more details.
247
24824.  On my 64-bit system some processes show up with incorrect information
249     (such as zero memory).
250
251     If you are running a 64-bit system, then you need to make sure that
252     you are running the 64-bit top binary. Top's configure script
253     attempts to detect 64-bit systems, and will automatically generate
254     both 32-bit and 64-bit binaries on such systems. If you use or
255     install the 32-bit binary on a 64-bit system top will still run but
256     will not produce the correct results. This will also happen if you
257     configure your distribution on a 32-bit system then compile with that
258     configuration on a 64-bit system. You must configure and compile on
259     the same system. For Sparc systems the 32-bit binary will be created
260     in the subdirectory "sparcv7" and the 64-bit binary will be created
261     in the subdirectory "sparcv9". For Intel systems the directories will
262     be "i386" (32-bit) and "amd64" (64-bit). In all cases a copy of
263     /usr/lib/isaexec is made in the main directory and called "top". This
264     program will choose the correct binary to run from one of these
265     subdirectories. See isaexec(3c) for more details.
266
26725.  Can I install both 32-bit and 64-bit binaries on a central file
268     server and have machines which mount it automatically use the correct
269     one?
270
271     Yes. If you configure and compile on a 64-bit system, top's configure
272     script and makefile will automatically create both 32-bit and 64-bit
273     binaries. The "install" rule in the makefile will install these
274     binaries in subdirectories of /usr/local/bin appropriate to the
275     architecture (sparcv7/sparcv9 or i386/amd64) then create a copy of
276     /usr/lib/isaexec named "top" in /usr/local/bin to ensure that the
277     appropriate is run when a user types "top". If you make sure that you
278     configure and compile on a 64-bit system, then "make install" will do
279     the right thing.
280
28126.  This version of top show less available swap space than previous
282     versions. Why does it no longer match the output of the swap summary
283     produced with "swap -s"?
284
285     Starting with version 3.6 of top, the amount of swap space reported
286     by top has been changed to reflect only disk-based swap space. The
287     swap summary produced with "swap -s" also includes memory-based swap
288     space. This changed was made for several reasons. It makes the
289     display under Solaris more like those of other operating systems. The
290     display is more what users expect (except those used to previous
291     versions of top). Most importantly, "swap -s" gets its data via an
292     undocumented system interface. Now that top no longer displays that
293     data it can use publically documented and maintained system
294     interfaces to retrieve its data.
295
296
297     SVR4-DERIVED PROBLEMS
298
29927.  When I run top on my SVR4-derived operating system, it displays all
300     the system information at the top but does not display any process
301     information (or only displays process information for my own
302     processes). Yet when I run it as root, everything works fine. What's
303     wrong?
304
305     Your system probably uses the pseudo file system "/proc", which is by
306     default only accessible by root. Top needs to be installed setuid
307     root on such systems if it is going to function correctly for normal
308     users.
309
310
311     SVR42 PROBLEMS
312
31328.  The memory display doesn't work right. Why?
314
315     This is a known bug with the svr42 module. The problem has been
316     traced down to a potential bug in the "mem" driver. The author of the
317     svr42 module is working on a fix.
318
319
320     STILL STUCK
321
32229.  I'm still stuck. To whom do I report problems with top?
323
324     The most common problems are caused by top's sensitivity to internal
325     kernel data structures. So make sure that you are using the right
326     include files, and make sure that you test out top on the same
327     machine where you compiled it. Sun's BSD Source Compatability Mode is
328     also a common culprit. Make sure you aren't using either /usr/ucb/cc
329     or any of the libraries in /usr/ucblib. Finally, make sure you are
330     using the correct module. If there does not appear to be one
331     appropriate for your computer, then top probably will not work on
332     your system.
333
334     If after reading all of this file and checking everything you can you
335     are still stuck, then please use SourceForge to submit a support
336     request or a bug. Top is supported by the SourceForge project  named
337     "unixtop". On SourceForge you will find defect tracking, a mailing
338     list, and on-line forums. You can also contact the author through
339     SourceForge.
340
341