File: FAQ

package info (click to toggle)
ptop 3.6.2-5
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 1,516 kB
  • sloc: ansic: 18,233; sh: 3,493; makefile: 124; awk: 44
file content (283 lines) | stat: -rw-r--r-- 12,310 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
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
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
								  pg_top
							 Version 3.6.1

							   Mark Wong

			  Frequently Asked Questions and their Answers



     GENERAL

 1.  What is pg_top? 

	pg_top is 'top' for PostgreSQL. It is derived from Unix Top. Similar to top,
	pg_top allows you to monitor PostgreSQL processes. It also allows you to:

    * View currently running SQL statement of a process.
    * View query plan of a currently running SELECT statement.
    * View locks held by a process.
    * View user table statistics.
    * View user index statistics.

 2.  Where do I get the latest version of pg_top? 

	 If you have mercurial, you can download the latest version from SourceForge:
	 
	 hg clone http://ptop.sourceforge.net/cgi-bin/hgwebdir.cgi/pg_top

 3.  Is there a web page for pg_top? 

	 http://ptop.projects.postgresql.org/

 4.  Is there a mailing list or on-line bulletin board for pg_top? 

	 Subscribe or browse the archives of ptop-hackers at:

	 http://lists.pgfoundry.org/mailman/listinfo/ptop-hackers

 5.  What about Y2K/Year 2038 compliance? 

	 A full statement concerning top and the year 2000 can be found in the file
	 "Y2K" included with the distribution.

 6.  Will there be another major release of pg_top? Will there be a pg_top
     version 4? 

     We hope so!  Depends on how much fun we have. :)

 7.  Is top under CVS control? Can I access the sources via SourceForge
     CVS or Subversion? 

     I maintain top using mercurial, not CVS.  See FAQ #2.

     COMPILING

 8.  We just upgraded our operating system to a new version and pg_top broke.
     What should we do? 

     Recompile it. pg_top is very sensitive to changes in internal kernel
     data structures. It is not uncommon for a new version of the
     operating system to include changes to kernel data structures.


     RUNNING

10.  I just finished compiling top and it works fine for root, but when I
     try to run it as a regular user it either complains about files it
     can't open or it doesn't display all the information it should. Did I
     do something wrong? 

     Well, you're just not done. On many operating systems today, access
     to many of the kernel memory devices and other system files is
     restricted to either root or a particular group. The configure script
     figures this out (usually) and makes sure that the "install" rule in
     the Makefile will install top so that anyone can run it successfully.
     However, you have to *install* it first. Do this with the command
     "make install".

11.  pg_top is (not) displaying idle processes and I don't (do) want it to. 

     This default has only changed about a dozen times, and I finally got
     tired of people whining about it. Go read the manual page for the
     current version and pay special attention to the description of the
     "PG_TOP" environment variable.

12.  We have so much memory in our machine that the memory status display
     (the fourth line) ends up being longer than 80 characters. This
     completely messes up top's output. Is there a patch? 

     Most modules have been changed to use new memory formatting functions
     which will display large values in terms of megabytes instead of
     kilobytes. This should fix all occurences of this problem. Also note
     that newer versions of top can use columns beyond 79, and understand
     window resizes. So you can always make your window wider.

13.  I tried to compile top with gcc and it doesn't work. I get
     compilation errors in the include files, or I get an executable that
     dumps core, or top displays incorrect numbers in some of the
     displays. What's wrong? 

     Gnu CC likes very much to use its own include files. Not being a gcc
     expert, I can't explain why it does this. But I can tell you that if
     you upgrade your operating system (say from Solaris 2.6 to Solaris
     2.7) after installing gcc, then the include files that gcc uses will
     be incorrect, especially those found in the "sys" directory. Your
     choices are: (1) rebuild and reinstall the "standard" include files
     for gcc (look for scripts in the distribution called "fixincludes"
     and "fixinc.svr4"), (2) compile machine.c with
     "CFLAGS=-I/usr/include" then make the rest of the object files
     normally, or (3) use a different compiler.

14.  The cpu state percentages are all wrong, indicating that my machine
     is using 95% system time when it is clearly idle. What's wrong? 

     This can happen if you compiled with gcc using the wrong include
     files. See the previous question.


     MACOSX PROBLEMS

15.  I tried to configure top on my Mac OSX system and I got an error
     claiming "macosx not supported". What up? 

     Since I don't have full time root access to a Mac OSX system I cannot
     provide effective support for the platform. MacOSX uses Mach, and it
     is very difficult to extract accurate system and process information
     from the system. It takes a lot of trial and error, along with root
     access. I have included the most up-to-date version of the macosx
     module in the distribution, but I do not claim that it works. If you
     want to try to use it, you can configure with "./configure
     --with-module=macosx".


     SUNOS PROBLEMS

16.  I tried compiling top under SunOS version 4.1.x and it got compile
     time errors or run time errors. Is there a patch? 

     If you try compiling top in a "System V environment" under SunOS
     (that is, /usr/5bin is before /usr/bin on your path) then the
     compilation may fail. This is mostly due to the fact that top thinks
     its being compiled on a System V machine when it really isn't. The
     only solution is to put /usr/bin and /usr/ucb before /usr/5bin on
     your path and try again.


     SOLARIS PROBLEMS


     NOTE: the most common source of problems with top under Solaris is
     the result of compiling it with the wrong front end. Make sure that
     /usr/ucb is not on your path before attempting to compile top under
     Solaris.

17.  Is there somewhere I can get a pre-compiled package? 

     Yes. Although I don't provide pre-compiled binaries, you can get a
     Sun-style package from www.sunfreeware.com.

18.  Under Solaris 2, when I type "make", the system says "language
     optional software package not installed." What's going on? 

     You tried to compile with /usr/ucb/cc. Make sure /usr/ucb is not on
     your path. Furthermore, you do not have a Sun compiler installed on
     your system. You need a compiler to make top. Either Sun's C compiler
     or the Gnu C compiler will work fine.

19.  Under Solaris 2, when I run top as root it only shows root processes,
     or it only shows processes with a PID less than 1000. It refuses to
     show anything else. What do I do? 

     You probably compiled it with /usr/ucb/cc instead of the real C
     compiler. /usr/ucb/cc is a cc front end that compiles programs in BSD
     source-level compatability mode. You do not want that. Make sure that
     /usr/ucb is not on your path and try compiling top again.

20.  Under Solaris 2, I compiled top using what I am sure is the correct
     compiler but when I try to run it it complains about missing dynamic
     libraries. What is wrong? 

     Check to see if you have LD_LIBRARY_PATH defined in your shell. If
     you do, make sure that /usr/ucblib is not on the path anywhere. Then
     try compiling top again.

21.  Under Solaris 2, when I try to run top it complains that it can't
     open the library "libucb.so.1". So I changed the LIBS line in
     m_sunos5.c to include -R/usr/ucblib to make sure that the dynamic
     linker will look there when top runs. I figured this was just an
     oversight. Was I right? 

     No, you were not right. As distributed, top requires no alterations
     for successful compilation and operations under any release of
     Solaris 2. You probably compiled top with /usr/ucb/cc instead of the
     real C compiler. See FAQ 22 for more details.

22.  On my 64-bit system some processes show up with incorrect information
     (such as zero memory). 

     If you are running a 64-bit system, then you will want to make a
     64-bit top binary. pg_top's configure script attempts to detect 64-bit
     systems, and will adjust the compilation options accordingly. If you
     configure and make a binary on a 32-bit system it will still run on a
     64-bit system, but may not produce the correct results. The same will
     happen if you configure your distribution on a 32-bit system then
     compile with that configuration on a 64-bit system. You must
     configure and compile on the same system.

23.  Can I install both 32-bit and 64-bit binaries on a central file
     server and have machines which mount it automatically use the correct
     one? 

     Yes. First, compile a 32-bit version and name it top32. Then compile
     a 64-bit version (see FAQ #22) and name it top64. Make sure each
     binary has the correct ownership and mode. Choose your bin directory
     (we will refer to that as $BIN). In $BIN make sure there are
     subdirectories named "sparcv7" and "sparcv9". If they don't exist
     then create them. Copy "top32" to "$BIN/sparcv7/top" and "top64" to
     "$BIN/sparcv9/top". Finally copy (do not link) the binary
     /usr/lib/isaexec to "$BIN/top". When a user runs "top" she will 
     actually be running a copy of isaexec. This tool will automatically
     determine the kernel type and run the top "binary" out of the correct
     subdirectory.

24.  This version of top show less available swap space than previous
     versions. Why does it no longer match the output of the swap summary
     produced with "swap -s"? 

     Starting with version 3.6 of top, the amount of swap space reported
     by top has been changed to reflect only disk-based swap space. The 
     swap summary produced with "swap -s" also include memory-based swap
     space. This changed was mae for several reasons. It makes the display
     under Solaris more like those of other operating systems. The display
     is more what users expect (except those used to previous versions of
     top). Most importantly, "swap -s" gets its data via an undocumented
     system interface. Now that top no longer displays that data it can
     use publically documented and maintained system interfaces to
     retrieve its data.


     SVR4-DERIVED PROBLEMS

25.  When I run top on my SVR4-derived operating system, it displays all
     the system information at the top but does not display any process
     information (or only displays process information for my own
     processes). Yet when I run it as root, everything works fine. What's
     wrong? 

     Your system probably uses the pseudo file system "/proc", which is by
     default only accessible by root. pg_top needs to be installed setuid
     root on such systems if it is going to function correctly for normal
     users.


     SVR42 PROBLEMS

26.  The memory display doesn't work right. Why? 

     This is a known bug with the svr42 module. The problem has been
     traced down to a potential bug in the "mem" driver. The author of the
     svr42 module is working on a fix.


     STILL STUCK

27.  I'm still stuck. To whom do I report problems with top? 

     The most common problems are caused by top's sensitivity to internal
     kernel data structures. So make sure that you are using the right
     include files, and make sure that you test out top on the same
     machine where you compiled it. Sun's BSD Source Compatability Mode is
     also a common culprit. Make sure you aren't using either /usr/ucb/cc
     or any of the libraries in /usr/ucblib. Finally, make sure you are
     using the correct module. If there does not appear to be one
     appropriate for your computer, then top probably will not work on
     your system.

     If after reading all of this file and checking everything you can you
     are still stuck, then please use SourceForge to submit a support
     request or a bug. pg_top is supported by the SourceForge project  named
     "unixtop". On SourceForge you will find defect tracking, a mailing
     list, and on-line forums. You can also contact the author through
     SourceForge.