diff options
Diffstat (limited to 'web/input/doc/faq/ps-on-solaris.md')
-rw-r--r-- | web/input/doc/faq/ps-on-solaris.md | 38 |
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 @@ | |||
1 | title: Process listings on Solaris | ||
2 | parent: FAQ | ||
3 | --- | ||
4 | |||
5 | # Why use pst3 for check\_procs on Solaris? | ||
6 | |||
7 | Solaris systems restrict the information that is available when you run `ps`. | ||
8 | On other Unix systems, running `ps` will list you the entire arguments, but | ||
9 | Solaris restricts the arguments to the first 64 characters at the kernel. | ||
10 | |||
11 | This is a problem if you need to access the arguments to find out a specific | ||
12 | process (common for listing Java programs). | ||
13 | |||
14 | `/usr/ucb/ps` does list the full arguments, but only for your own processes. | ||
15 | If you are root, then running `/usr/ucb/ps` can get the full arguments for all | ||
16 | processes. However, the columns for `RSS` and `VSZ` merge together when the | ||
17 | values are too large and check\_procs cannot pull the value out correctly. | ||
18 | |||
19 | The chosen approach is to create our own `ps`-like command, `pst3`. This | ||
20 | outputs the required information in a known format for `check_procs` to parse. | ||
21 | This is the default if you run `./configure` on a Solaris system. | ||
22 | |||
23 | Because `pst3` needs access to some kernel structures, it needs to be compiled | ||
24 | in 32 and 64 bit modes. | ||
25 | |||
26 | If 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 | |||
35 | The `--with-ps-varlist` should be on one line - separated here for | ||
36 | readability. | ||
37 | |||
38 | <!--% # vim:set filetype=markdown textwidth=78 joinspaces: # %--> | ||