pg.ddx.io  pgsql-interfaces@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Roberto João Lopes Garcia <roberto@mha.com.br>
To: Bruce Momjian <pgman@candle.pha.pa.us>
Cc: pgsql-interfaces@postgresql.org
Subject: Re: pgmonitor on solaris
Date: Mon, 26 Mar 2001 16:32:17 -0300
Message-ID: <5.0.2.1.0.20010326153208.00a79200@ftp.mha.com.br> (raw)
In-Reply-To: <200103261709.MAA17936@candle.pha.pa.us>
References: <08CD1781F85AD4118E0800A0C9B8580B0949D6@NEZU>

Ok +/-
On Solaris 2.5.1 - Pgmonitor 0.28

No message errors, the pgmonitor window comes up but does not show any 
proccess. I started psql and make a query that runs a litle long (select 
nm_arq from cd_arqs order by nm_arq), select refresh on pgmonitor and show 
nothing.

Again, I changed the path to ps from /bin/ps to /usr/ucb/ps and it print 
the following errors:

#   ./pgmonitor
Error in startup script: Can't run 'ps'
Please send in a patch.
     while executing
"error "Can't run 'ps'\nPlease send in a patch.""
     (procedure "widget_init" line 62)
     invoked from within
"widget_init $argc $argv .top"
     (procedure "main" line 2)
     invoked from within
"main $argc $argv"
     (file "./pgmonitor" line 833)
#

 From the man /usr/ucb/ps there is no argument to display proccess for a 
expecific user U or u so I think can't be used.
 From the man /bin/ps: -f long format,
                       -U user name list,
                       -u user ID list,
                       -e all proccess,
                       -p proc list

I changed same pgmonitor ps_???_args but I could not fix it. Still not 
showing proccess.

Please see the atached man pages

Thank You

Roberto

The problem know, I think is the ps command
At 14:09 26/03/01, Bruce Momjian wrote:
>[ Charset ISO-8859-1 unsupported, converting... ]
> > The problem is that Solaris uses the "original" version of Awk by default
> > (apparently nobody knows why).
> > This version lacks many features which have been available in later 
> versions
> > for approximately forever (in computing chronology :-)).
> > Two other versions exist on Solaris:
> > *     "nawk" ("new awk", i.e. the updated "old awk")
> > *     /usr/xpg4/bin/awk (another, posix-compliant awk).
> > Solaris seems to be weird this way.  Other platforms don't seem to have 
> this
> > problem.  Linux and FreeBSD, for example, use GNU awk, which would have all
> > of the required functionality and more.
>
>OK, I have confirmed you are correct.  I find at:
>
>         http://www.oase-shareware.org/shell/articles/awkcompat.html
>
>a chart comparing awk versions on different OS's and it shows gsub() not
>supported on Solaris, Solaris 2.5,2.6,5.7,5.8 (sparc), /usr/5bin/awk.
>nawk does have it.
>
>I have put a 0.28 version of pgmonitor on my web site that tests for
>awk/nawk/gawk and gsub(), and uses the one that works.  Can someone test
>this on Solaris and let me know if it is OK?
>
>pgmonitor README attached:
>
>---------------------------------------------------------------------------
>
>                               P G   M O N I T O R
>
>pgmonitor, version 0.28
>
>The main web site for pgmonitor is:
>         http://greatbridge.org/project/pgmonitor/projdisplay.php
>
>You can download the most recent version from
>         ftp://ftp.greatbridge.org/pub/pgmonitor
>
>This tool allows monitoring of PostgreSQL activity.  It requires Tcl/Tk
>8.0 or later.  It may require modification of the 'ps' flags for certain
>platforms.  It is known to run on *BSD, Linux, and HPUX.
>
>Pgmonitor only works when run on the database server machine.  To use it
>remotely, log into the remote machine, set the DISPLAY variable to point
>to your local X server, and start pgmonitor.  Pgmonitor will then run on
>the remote machine, but will display on your local machine.
>
>Pgmonitor uses 'ps' to display backend process activity.  It uses 'gdb'
>to display running queries, and 'kill' to cancel queries and terminate
>database connections.
>
>Pgmonitor stores your most recent refresh and sort settings in the file
>~/.pgmonitor.  This file is used to reload your defaults every time
>pgmonitor is started.
>
>If you are running PostgreSQL 7.1.0 or earlier, the 'query' button will
>not work unless you compile PostgreSQL with debug symbols (-g), or apply
>the supplied patch 'query_display.diff' and recompile PostgreSQL.  The
>later method is recommended.
>
>Bruce Momjian <pgman@candle.pha.pa.us>
>
>--
>   Bruce Momjian                        |  http://candle.pha.pa.us
>   pgman@candle.pha.pa.us               |  (610) 853-3000
>   +  If your life is a hard drive,     |  830 Blythe Avenue
>   +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026

Attachments:

bin_ps.txt (text/plain, 20.3K) download # man ps Reformatting page. Wait... done ps(1) User Commands ps(1) NAME ps - report process status SYNOPSIS ps [ -aAcdefjl ] [ -g grplist ] [ -n namelist ] [[ -o format ] ... ] [ -p proclist ] [ -s sidlist ] [ -t term ] [ -u uidlist ] [ -U uidlist ] [ -G gidlist ] AVAILABILITY SUNWcsu DESCRIPTION The ps command prints information about active processes. Without options, ps prints information about processes asso- ciated with the controlling terminal. The output contains only the process ID, terminal identifier, cumulative execu- tion time, and the command name. Otherwise, the information that is displayed is controlled by the options. Some options accept lists as arguments. Items in a list can be either separated by commas or else enclosed in quotes and separated by commas or spaces. Values for proclist and grplist must be numeric. OPTIONS The following options are supported: -a Print information about all processes most frequently requested: all those except pro- cess group leaders and processes not associ- ated with a terminal. -A Write information for all processes. -c Print information in a format that reflects scheduler properties as described in priocntl(1). The -c option affects the out- put of the -f and -l options, as described below. -d Print information about all processes except session leaders. -e Print information about every process now running. -f Generate a full listing. (See below for sig- nificance of columns in a full listing.) -g grplist List only process data whose group leader's ID number(s) appears in grplist. (A group SunOS 5.5 Last change: 28 Feb 1995 1 ps(1) User Commands ps(1) leader is a process whose process ID number is identical to its process group ID number.) -G gidlist Write information for processes whose real group ID numbers are given in grouplist. The grouplist must be a single argument in the form of a blank- or comma-separated list. -j Print session ID and process group ID. -l Generate a long listing. (See below.) -n namelist Specify the name of an alternative system namelist file in place of the default. This option is accepted for compatibility, but is ignored. -o format Write information according to the format specification given in format. This is fully described in DISPLAY FORMATS. Multiple -o options can be specified; the format specifi- cation will be interpreted as the space- character-separated concatenation of all the format option-arguments. -p proclist List only process data whose process ID numbers are given in proclist. -s sidlist List information on all session leaders whose IDs appear in sidlist. -t term List only process data associated with term. Terminal identifiers are specified as a dev- ice file name, and an identifier. For exam- ple, term/a, or pts/0. -u uidlist List only process data whose effective user ID number or login name is given in uidlist. In the listing, the numerical user ID will be printed unless you give the -f option, which prints the login name. -U uidlist Write information for processes whose real user ID numbers or login names are given in userlist. The userlist must be a single argument in the form of a blank- or comma- separated list. With the exception of -o format, all of the options shown are used to select processes. If any are specified, the default list will be ignored and ps will select the processes represented by the inclusive OR of all the SunOS 5.5 Last change: 28 Feb 1995 2 ps(1) User Commands ps(1) selection-criteria options. DISPLAY FORMATS Under the -f option, ps tries to determine the command name and arguments given when the process was created by examin- ing the user block. Failing this, the command name is printed, as it would have appeared without the -f option, in square brackets. The column headings and the meaning of the columns in a ps listing are given below; the letters f and l indicate the option (full or long, respectively) that causes the corresponding heading to appear; all means that the heading always appears. Note: These two options determine only what information is provided for a process; they do not determine which processes will be listed. F (l) Flags (hexadecimal and additive) associ- ated with the process. These flags are available for historical purposes; no meaning should be currently ascribed to them. S (l) The state of the process: O Process is running on a processor. S Sleeping: process is waiting for an event to complete. R Runnable: process is on run queue. Z Zombie state: process terminated and parent not waiting. T Process is stopped, either by a job control signal or because it is being traced. UID (f,l) The effective user ID number of the pro- cess (the login name is printed under the -f option). PID (all) The process ID of the process (this datum is necessary in order to kill a process). PPID (f,l) The process ID of the parent process. C (f,l) Processor utilization for scheduling (obsolete). Not printed when the -c option is used. CLS (f,l) Scheduling class. Printed only when the -c option is used. SunOS 5.5 Last change: 28 Feb 1995 3 ps(1) User Commands ps(1) PRI (l) The priority of the process. Without the -c option, higher numbers mean lower priority. With the -c option, higher numbers mean higher priority. NI (l) Nice value, used in priority computa- tion. Not printed when the -c option is used. Only processes in the certain scheduling classes have a nice value. ADDR (l) The memory address of the process. SZ (l) The size (in pages) of the swappable process's image in main memory. WCHAN (l) The address of an event for which the process is sleeping (if blank, the pro- cess is running). STIME (f) The starting time of the process, given in hours, minutes, and seconds. (A pro- cess begun more than twenty-four hours before the ps inquiry is executed is given in months and days.) TTY (all) The controlling terminal for the process (the message, ?, is printed when there is no controlling terminal). TIME (all) The cumulative execution time for the process. CMD (all) The command name (the full command name and its arguments, up to a limit of 80 characters, are printed under the -f option). The following two additional columns are printed when the -j option is specified: PGID The process ID of the process group leader. SID The process ID of the session leader. A process that has exited and has a parent, but has not yet been waited for by the parent, is marked <defunct>. -o format The -o option allows the output format to be specified under user control. SunOS 5.5 Last change: 28 Feb 1995 4 ps(1) User Commands ps(1) The format specification must be a list of names presented as a single argument, blank- or comma-separated. Each vari- able has a default header. The default header can be over- ridden by appending an equals sign and the new text of the header. The rest of the characters in the argument will be used as the header text. The fields specified will be writ- ten in the order specified on the command line, and should be arranged in columns in the output. The field widths will be selected by the system to be at least as wide as the header text (default or overridden value). If the header text is null, such as -o user=, the field width will be at least as wide as the default header text. If all header text fields are null, no header line will be written. The following names are recognised in the POSIX locale: user The effective user ID of the process. This will be the textual user ID, if it can be obtained and the field width permits, or a decimal representation otherwise. ruser The real user ID of the process. This will be the textual user ID, if it can be obtained and the field width permits, or a decimal represen- tation otherwise. group The effective group ID of the process. This will be the textual group ID, if it can be obtained and the field width permits, or a decimal representation otherwise. rgroup The real group ID of the process. This will be the textual group ID, if it can be obtained and the field width permits, or a decimal represen- tation otherwise. pid The decimal value of the process ID. ppid The decimal value of the parent process ID. pgid The decimal value of the process group ID. pcpu The ratio of CPU time used recently to CPU time available in the same period, expressed as a percentage. The meaning of ``recently'' in this context is unspecified. The CPU time available is determined in an unspecified manner. vsz The size of the process in (virtual) memory in kilobytes as a decimal integer. nice The decimal value of the system scheduling SunOS 5.5 Last change: 28 Feb 1995 5 ps(1) User Commands ps(1) priority of the process. See nice(1). etime In the POSIX locale, the elapsed time since the process was started, in the form: [[dd-]hh:]mm:ss where dd will represent the number of days, hh the number of hours, mm the number of minutes, and ss the number of seconds. The dd field will be a decimal integer. The hh, mm and ss fields will be two-digit decimal integers padded on the left with zeros. time In the POSIX locale, the cumulative CPU time of the process in the form: [dd-]hh:mm:ss The dd, hh, mm, and ss fields will be as described in the etime specifier. tty The name of the controlling terminal of the pro- cess (if any) in the same format used by the who(1) command. comm The name of the command being executed (argv[0] value) as a string. args The command with all its arguments as a string. The implementation may truncate this value to the field width; it is implementation-dependent whether any further truncation occurs. It is unspecified whether the string represented is a version of the argument list as it was passed to the command when it started, or is a version of the arguments as they may have been modified by the application. Applications cannot depend on being able to modify their argument list and having that modification be reflected in the output of ps. The Solaris implementation limits the string to 80 characters; the string is the version of the argument list as it was passed to the command when it started. The following names are recognized in the Solaris implemen- tation: f Flags (hexadecimal and additive) associated with the process. SunOS 5.5 Last change: 28 Feb 1995 6 ps(1) User Commands ps(1) s The state of the process. c Processor utilization for scheduling (obsolete). uid The effective user ID number of the process as a decimal integer. ruid The real user ID number of the process as a decimal integer. gid The effective group ID number of the process as a decimal integer. rgid The real group ID number of the process as a decimal integer. sid The process ID of the session leader. class The scheduling class of the process. pri The priority of the process. Higher numbers mean higher priority. opri The obsolete priority of the process. Lower numbers mean higher priority. addr The memory address of the process. osz The size (in pages) of the swappable process's image in main memory. wchan The address of an event for which the process is sleeping (if -, the process is running). stime The starting time or date of the process, printed with no blanks. rss The resident set size of the process, in kilo- bytes as a decimal integer. pmem The ratio of the process's resident set size to the physical memory on the machine, expressed as a percentage. fname The first 16 characters of the base name of the process's executable file. Only comm and args are allowed to contain blank characters; all others, including the Solaris implementation variables, are not. SunOS 5.5 Last change: 28 Feb 1995 7 ps(1) User Commands ps(1) The following table specifies the default header to be used in the POSIX locale corresponding to each format specifier. _______________________________________________________________________ | Format Specifier Default Header| Format Specifier Default Header| |__________________________________|___________________________________| | args COMMAND | ppid PPID | | comm COMMAND | rgroup RGROUP | | etime ELAPSED | ruser RUSER | | group GROUP | time TIME | | nice NI | tty TT | | pcpu %CPU | user USER | | pgid PGID | vsz VSZ | | pid PID | | |__________________________________|___________________________________| The following table lists the Solaris implementation format specifiers and the default header used with each. _______________________________________________________________________ | Format Specifier Default Header| Format Specifier Default Header| |__________________________________|___________________________________| | addr ADDR | pri PRI | | c C | rgid RGID | | class CLS | rss RSS | | f F | ruid RUID | | fname COMMAND | s S | | gid GID | sid SID | | opri PRI | stime STIME | | osz SZ | uid UID | | pmem %MEM | wchan WCHAN | |__________________________________|___________________________________| EXAMPLES The command: example% ps -o user,pid,ppid=MOM -o args writes the following in the POSIX locale: USER PID MOM COMMAND helene 34 12 ps -o uid,pid,ppid=MOM -o args The contents of the COMMAND field need not be the same due to possible truncation. ENVIRONMENT See environ(5) for descriptions of the following environment variables that affect the execution of ps: LC_CTYPE, LC_MESSAGES, LC_TIME, and NLSPATH. COLUMNS Override the system-selected horizontal screen size, used to determine the SunOS 5.5 Last change: 28 Feb 1995 8 ps(1) User Commands ps(1) number of text columns to display. EXIT STATUS The following exit values are returned: 0 Successful completion. >0 An error occurred. FILES /dev/pts/* /dev/term/* terminal (``tty'') names searcher files /etc/passwd UID information supplier /proc/* process control files /tmp/ps_data internal data structure SEE ALSO kill(1), nice(1), priocntl(1), who(1), getty(1M), proc(4), ttysrch(4), environ(5) NOTES Things can change while ps is running; the snap-shot it gives is true only for a split-second, and it may not be accurate by the time you see it. Some data printed for defunct processes is irrelevant. If no options to select processes are specified, ps will report all processes associated with the controlling termi- nal. If there is no controlling terminal, there will be no report. ps -ef or ps -o stime may not report the actual start of a tty login session, but rather an earlier time, when a getty was last respawned on the tty line. SunOS 5.5 Last change: 28 Feb 1995 9 #
usr_ucb_ps.txt (text/plain, 8.1K) download # man -s 1B ps Reformatting page. Wait... done ps(1B) SunOS/BSD Compatibility Package Commands ps(1B) NAME ps - display the status of current processes SYNOPSIS /usr/ucb/ps [ -acglnrSuUvwx ] [ -t term ] [ num ] AVAILABILITY SUNWscpu DESCRIPTION The ps command displays information about processes. Nor- mally, only those processes that are running with your effective user ID and are attached to a controlling terminal (see termio(7I)) are shown. Additional categories of processes can be added to the display using various options. In particular, the -a option allows you to include processes that are not owned by you (that do not have your user ID), and the -x option allows you to include processes without control terminals. When you specify both -a and - x , you get processes owned by anyone, with or without a control terminal. The -r option restricts the list of processes printed to running and runnable processes. ps displays in tabular form the process ID, under PID; the control terminal (if any), under TT; the cpu time used by the process so far, including both user and system time, under TIME; the state of the process, under S; and finally, an indication of the COMMAND that is running. The state is given by a single letter from the following: O Process is running on a processor. S Sleeping. Process is waiting for an event to com- plete. R Runnable. Process is on run queue. I Idle. Process is being created. Z Zombie state. Process terminated and parent not waiting. T Traced. Process stopped by a signal because parent is tracing it. X SXBRK state. Process is waiting for more primary memory. OPTIONS The following options must all be combined to form the first argument: -a Include information about processes owned by others. -c Display the command name, as stored internally in the system for purposes of accounting, rather than the com- mand arguments, which are kept in the process' address SunOS 5.5 Last change: 26 Sep 1992 1 ps(1B) SunOS/BSD Compatibility Package Commands ps(1B) space. This is more reliable, if less informative, since the process is free to destroy the latter infor- mation. -g Display all processes. Without this option, ps only prints interesting processes. Processes are deemed to be uninteresting if they are process group leaders. This normally eliminates top-level command interpreters and processes waiting for users to login on free termi- nals. -l Display a long listing, with fields F, PPID, CP, PRI, NI, SZ, RSS and WCHAN as described below. -n Produce numerical output for some fields. In a user listing, the USER field is replaced by a UID field. -r Restrict output to running and runnable processes. -S Display accumulated CPU time used by this process and all of its reaped children. -u Display user-oriented output. This includes fields USER, SZ, RSS and START as described below. -U Update a private database where ps keeps system infor- mation. -v Display a version of the output containing virtual memory. This includes fields SIZE and RSS, described below. -w Use a wide output format (132 columns rather than 80); if repeated, that is, -ww , use arbitrarily wide out- put. This information is used to decide how much of long commands to print. -x Include processes with no controlling terminal. -t term List only process data associated with the terminal, term. Terminal identifiers may be specified in one of two forms: the device's file name (for example, tty04 or term/14 ) or, if the device's file name starts with tty, just the digit identifier (for example, 04 ). num A process number may be given, in which case the output is restricted to that process. This option must be supplied last. DISPLAY FORMATS SunOS 5.5 Last change: 26 Sep 1992 2 ps(1B) SunOS/BSD Compatibility Package Commands ps(1B) Fields that are not common to all output formats: USER Name of the owner of the process. NI Process scheduling increment (see getpriority(3C) and nice(3B)). SIZE SZ The combined size of the data and stack segments (in kilobyte units) RSS Real memory (resident set) size of the process (in kilobyte units). UID Numerical user-ID of process owner. PPID Numerical ID of parent of process. CP Short-term CPU utilization factor (used in scheduling). PRI The priority of the process (higher numbers mean lower priority). START The starting time of the process, given in hours, minutes, and seconds. A process begun more than 24 hours before the ps inquiry is exe- cuted is given in months and days. WCHAN The address of an event for which the process is sleeping, or in SXBRK state (if blank, the pro- cess is running). F Flags (hexadecimal and additive) associated with the process: 00 Process has terminated. Process table now available. 01 A system process, always in primary memory. 02 Parent is tracing process. 04 Tracing parent's signal has stopped pro- cess. Parent is waiting, see ptrace(2). 08 Process is currently in primary memory. 10 Process currently in primary memory, locked until an event is completed. A process that has exited and has a parent, but has not yet been waited for by the parent is marked < defunct >; other- wise, ps tries to determine the command name and arguments given when the process was created by examining the user block. SunOS 5.5 Last change: 26 Sep 1992 3 ps(1B) SunOS/BSD Compatibility Package Commands ps(1B) FILES /dev /dev/kmem kernel virtual memory /dev/mem memory /dev/swap default swap device /dev/sxt/* /dev/tty* /dev/xt/* terminal ( tty ) names searcher files /etc/passwd UID information supplier /etc/ps_data internal data structure SEE ALSO kill(1), whodo(1M), lseek(2), getpriority(3C), nice(3B) NOTES Things can change while ps is running; the picture it gives is only a close approximation to the current state. Some data printed for defunct processes is irrelevant. If no term or num is specified, ps checks the standard input, the standard output, and the standard error in that order, looking for the controlling terminal and will attempt to report on processes associated with the controlling ter- minal. In this situation, if the standard input, the stan- dard output, and the standard error are all redirected, ps will not find a controlling terminal, so there will be no report. On a heavily loaded system, ps may report an lseek(2) error and exit. ps may seek to an invalid user area address, hav- ing obtained the address of process' user area, ps may not be able to seek to that address before the process exits and the address becomes invalid. SunOS 5.5 Last change: 26 Sep 1992 4 #

view thread (21+ messages)  latest in thread

Message-ID: <5.0.2.1.0.20010326153208.00a79200@ftp.mha.com.br>
Permalink:  ../5.0.2.1.0.20010326153208.00a79200@ftp.mha.com.br/
Also on:    postgresql.org/message-id/5.0.2.1.0.20010326153208.00a79200@ftp.mha.com.br

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-interfaces@postgresql.org
  Cc: roberto@mha.com.br, pgman@candle.pha.pa.us
  Subject: Re: pgmonitor on solaris
  In-Reply-To: <5.0.2.1.0.20010326153208.00a79200@ftp.mha.com.br>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox