summaryrefslogtreecommitdiffstats
path: root/web/input/doc/faq/ps-on-solaris.md
diff options
context:
space:
mode:
Diffstat (limited to 'web/input/doc/faq/ps-on-solaris.md')
-rw-r--r--web/input/doc/faq/ps-on-solaris.md38
1 files changed, 38 insertions, 0 deletions
diff --git a/web/input/doc/faq/ps-on-solaris.md b/web/input/doc/faq/ps-on-solaris.md
new file mode 100644
index 0000000..801c695
--- /dev/null
+++ b/web/input/doc/faq/ps-on-solaris.md
@@ -0,0 +1,38 @@
1title: Process listings on Solaris
2parent: FAQ
3---
4
5# Why use pst3 for check\_procs on Solaris?
6
7Solaris systems restrict the information that is available when you run `ps`.
8On other Unix systems, running `ps` will list you the entire arguments, but
9Solaris restricts the arguments to the first 64 characters at the kernel.
10
11This is a problem if you need to access the arguments to find out a specific
12process (common for listing Java programs).
13
14`/usr/ucb/ps` does list the full arguments, but only for your own processes.
15If you are root, then running `/usr/ucb/ps` can get the full arguments for all
16processes. However, the columns for `RSS` and `VSZ` merge together when the
17values are too large and check\_procs cannot pull the value out correctly.
18
19The chosen approach is to create our own `ps`-like command, `pst3`. This
20outputs the required information in a known format for `check_procs` to parse.
21This is the default if you run `./configure` on a Solaris system.
22
23Because `pst3` needs access to some kernel structures, it needs to be compiled
24in 32 and 64 bit modes.
25
26If you are comfortable with the limitations, it is possible to use a Solaris
27`ps` command by specifying these options to `./configure`:
28
29 --with-ps-command="/usr/bin/ps -eo 's uid pid ppid vsz rss pcpu etime comm args'" \
30 --with-ps-format="%s %d %d %d %d %d %f %s %s %n" \
31 --with-ps-cols=10 \
32 --with-ps-varlist="procstat,&procuid,&procpid,&procppid,\
33 &procvsz,&procrss,&procpcpu,procetime,procprog,&pos"
34
35The `--with-ps-varlist` should be on one line - separated here for
36readability.
37
38<!--% # vim:set filetype=markdown textwidth=78 joinspaces: # %-->