Обсуждение: solaris and ps

Поиск
Список
Период
Сортировка

solaris and ps

От
Leonardo Francalanci
Дата:
I read "Chapter 23. Monitoring Database Activity" to monitor postgresql,
but on Solaris it doesn't work. I tried "/usr/ucb/ps", but it doesn't
work either (I only see the postmaster startup parameters). Isn't there
any other solution to see what postgresql instances are doing?


Re: solaris and ps

От
Richard Huxton
Дата:
Leonardo Francalanci wrote:
> I read "Chapter 23. Monitoring Database Activity" to monitor postgresql,
> but on Solaris it doesn't work. I tried "/usr/ucb/ps", but it doesn't
> work either (I only see the postmaster startup parameters). Isn't there
> any other solution to see what postgresql instances are doing?

If the tips on solaris ps haven't helped, you can turn on statistics
gathering and check pg_stat_activity.

--
   Richard Huxton
   Archonet Ltd

Re: solaris and ps

От
Michael Fuhr
Дата:
On Thu, Oct 14, 2004 at 11:14:10AM +0100, Richard Huxton wrote:
> Leonardo Francalanci wrote:
> >I read "Chapter 23. Monitoring Database Activity" to monitor postgresql,
> >but on Solaris it doesn't work. I tried "/usr/ucb/ps", but it doesn't
> >work either (I only see the postmaster startup parameters). Isn't there
> >any other solution to see what postgresql instances are doing?
>
> If the tips on solaris ps haven't helped, you can turn on statistics
> gathering and check pg_stat_activity.

pargs should work, but you'll probably have to run it as the postgres
user or as root or you'll get "cannot examine <pid>: permission denied".

pargs `/usr/bin/ps -opid -Upostgres | tail +2`

I just did some tests on Solaris 9 and, curiously, whether /usr/ucb/ps
shows the altered argument list or not appears to depend on the
lengths of the original and replacement arguments:

% ./foo x
   PID TT       S  TIME COMMAND
 28106 pts/2    S  0:00 baz qux

% ./foo xy
   PID TT       S  TIME COMMAND
 28109 pts/2    S  0:00 ./foo xy

As far as I can tell, for /usr/ucb/ps the show the replacement
arguments, the sum of the lengths of the replacement arguments
must be 2 or more greater than the sum of the lengths of the
original arguments.  I'm guessing that if the postmaster used
a longer status message, then /usr/ucb/ps would show it.  I'll
test that the next time I rebuild PostgreSQL.

--
Michael Fuhr
http://www.fuhr.org/~mfuhr/

Re: solaris and ps

От
Michael Fuhr
Дата:
On Thu, Oct 14, 2004 at 08:24:19AM -0600, Michael Fuhr wrote:
>
> As far as I can tell, for /usr/ucb/ps the show the replacement
> arguments, the sum of the lengths of the replacement arguments
> must be 2 or more greater than the sum of the lengths of the
> original arguments.  I'm guessing that if the postmaster used
> a longer status message, then /usr/ucb/ps would show it.

I just noticed that this is already mentioned in the PostgreSQL
documentation:

"In addition, your original invocation of the postmaster command
must have a shorter ps status display than that provided by each
server process."

--
Michael Fuhr
http://www.fuhr.org/~mfuhr/

Re: solaris and ps

От
Leonardo Francalanci
Дата:
> "In addition, your original invocation of the postmaster command
> must have a shorter ps status display than that provided by each
> server process."

Yes, using PGDATA instead of the whole path eith the -D option worked:
now I can see the different status displays.


Re: solaris and ps

От
Andrew Sullivan
Дата:
On Thu, Oct 14, 2004 at 11:16:48AM +0200, Leonardo Francalanci wrote:
> I read "Chapter 23. Monitoring Database Activity" to monitor postgresql,
> but on Solaris it doesn't work. I tried "/usr/ucb/ps", but it doesn't
> work either (I only see the postmaster startup parameters). Isn't there
> any other solution to see what postgresql instances are doing?

/usr/ucb/ps -auxww  will work.  I've used it thousands of times.

A

--
Andrew Sullivan  | ajs@crankycanuck.ca
The fact that technology doesn't work is no bar to success in the marketplace.
        --Philip Greenspun