MPS(1)                                               openMosix tools User's Manual                                               MPS(1)  <<

NAME

       mps - report multicomputer process status


SYNOPSIS

       mps [-] [lujsvmaxScewhrnu] [txx] [O[+|-]k1[[+|-]k2...]] [pids]

       there are also five long options:

       --ominfo

       --ominfol

       --sortX[+|-]key[,[+|-]key[,...]]

       --help

       --version

       More long options are on the way...


DESCRIPTION

       mps  gives  a snapshot of the current processes.  If you want a repetitive update of this status, use mtop.  This man page docu-
       ments the /proc-based version of mps, or tries to.



COMMAND-LINE OPTIONS

       The command-line options for this version of mps are derived from the BSD version of mps, not the System V version.

       The command-line arguments should not be preceeded by a `-' character, because in the future, a `-' will  be  used  to  indicate
       Unix98-standard command-line arguments, while no `-' will indicate the current ``extended BSD'' style of command line arguments.

       For now, mps will give you a warning if you use a `-' for a short option, but it will still work.  If  you  have  shell  scripts
       which  use  BSD-style  arguments  to mps, take heed of the warning and fix them, or else your scripts will fail to function cor-
       rectly at some point in the future.  If you want to turn off the warnings, set the I_WANT_A_BROKEN_PS environment variable.

       There are also some ``long options'' in GNU style; see below for those.

       l    long format
       u    user format: gives user name and start time
       j    jobs format: pgid sid
       s    signal format
       v    vm format
       m    displays memory info (combine with p flag to get number of pages).
       f    "forest" family tree format for command line
       a    show processes of other users too
       x    show processes without controlling terminal
       S    add child cpu time and page faults
       c    command name from task_struct
       e    show environment after command line and ` + '
       w    wide output: don't truncate command lines to fit on one line.  To be exact, every w that is specified will add another pos-
            sible line to the output. If the space isn't needed it isn't used. You may up to 100 w's.
       h    no header
       r    running procs only
       n    numeric output for USER and WCHAN.

       txx  only  procs  with  controlling  tty  xx; for xx you may use either the name of a device file under "/dev" or that name with
            either tty or cu sliced off.  This is the reverse heuristic that mps uses to print out the abbreviated tty name in  the  TT
            field, e.g.  mps -t1.

       O[+|-]k1[,[+|-]k2[,...]]
            Order the process listing according to the multi-level sort specified by the sequence of short keys from SORT KEYS, k1, k2,
            ...  Default order specifications exist for each of the various formats of mps.  These are over-ridden by a user  specified
            ordering.   The  `+' is quite optional, merely re-iterating the default direction on a key.  `-' reverses direction only on
            the key it precedes.  As with t and pids, the O option must be the last option in a single command argument, but specifica-
            tions in successive arguments are catenated.

       pids List only the specified processes; they are comma-delimited.  The list must be given immediately after the last option in a
            single command-line argument, with no intervening space, e.g.  mps -j1,4,5.  Lists specified in  subsequent  arguments  are
            catenated,  e.g.  mps -l 1,2 3,4 5 6 will list all of the processes 1-6 in long format.  If pids are given, they are listed
            no matter what.  If a tty is given matching processes are listed no matter what.  These two features override the  'a'  and
            'x' flags.


LONG COMMAND-LINE OPTIONS

       These options are preceeded by a double-hyphen.


       --ominfo, --ominfol
            Display openMosix related infos, both short and long format output are implemented.  Infos come from where, nmigs, lock and
            cantmove openMosix proc files (inspired by ompsinfo).
            E.g.:
                   mps --ominfo
                   mps --ominfol
                   mps waux --ominfol


       --sortX[+|-]key[,[+|-]key[,...]]
            Choose a multi-letter key from the SORT KEYS section. X may be any convenient separator character.  To be GNU-ish use  `='.
            The  `+'  is  really  optional  since  default  direction  is  increasing numerical or lexicographic order.  E.g.: mps -jax
            --sort=uid,-ppid,+pid


       --help
            Get a help message that summarizes the usage and gives a list of supported sort keys.  This list may be  more  up  to  date
            than this man page.

       --version
            Display version and source of this program.


SORT KEYS

       Note  that  the  values  used in sorting are the internal values mps uses and not the `cooked' values used in some of the output
       format fields.  If someone wants to volunteer to write special comparison functions for the cooked values, ... ;-)

       SHORT   LONG            DESCRIPTION
       c       cmd             simple name of executable
       C       cmdline         full command line
       f       flags           flags as in long format F field
       g       pgrp            process group ID
       G       tpgid           controlling tty process group ID
       j       cutime          cumulative user time
       J       cstime          cumulative system time
       k       utime           user time
       K       stime           system time
       m       min_flt         number of minor page faults
       M       maj_flt         number of major page faults
       n       cmin_flt        cumulative minor page faults
       N       cmaj_flt        cumulative major page faults
       o       session         session ID
       p       pid             process ID
       P       ppid            parent process ID
       r       rss             resident set size
       R       resident        resident pages
       s       size            memory size in kilobytes
       S       share           amount of shared pages
       t       tty             the minor device number of tty
       T       start_time      time process was started
       U       uid             user ID number
       u       user            user name
       v       vsize           total VM size in bytes
       y       priority        kernel scheduling priority


FIELD DESCRIPTIONS

       PRI  This is the counter field in the task struct.  It is the time in HZ of the process's possible timeslice.

       NI   Standard unix nice value; a positive value means less cpu time.

       SIZE Virtual image size; size of text+data+stack.

       RSS  Resident set size; kilobytes of program in memory.

       WCHAN
            Name of the kernel function where the  process  is  sleeping,  with  the  `sys_'  stripped  from  the  function  name.   If
            /etc/psdatabase does not exist, it is just a hex number instead.

       STAT Information  about  the  status  of  the process.  The first field is R for runnable, S for sleeping, D for uninterruptible
            sleep, T for stopped or traced, or Z for a zombie process.  The second field contains W if  the  process  has  no  resident
            pages.  The third field is N if the process has a positive nice value (NI field).

       NODE openMosix Node Number.

       NMIGS
            openMosix Number of Migrations.

       LOCK openMosix process lock status.

       CANTMOVE
            openMosix process cantmove description.

       TT   Controlling tty.

       PAGEIN
            Number  of  major  page  faults  (page  faults  that cause pages to be read from disk, including pages read from the buffer
            cache).

       TRS  Text resident size.

       SWAP Kilobytes (or pages if -p is used) on swap device.

       SHARE
            Shared memory.


UPDATING

       This proc-based mps works by reading the files in the proc filesystem, mounted on /proc.  This mps does not need to be suid kmem
       or have any privileges to run.  Do not give this mps any special permissions.

       You  will  need  to  update  the /etc/psdatabase file by running /usr/sbin/psupdate to get meaningful information from the WCHAN
       field.  This should be done every time you compile a new kernel.  You should also run 'mps' as root once and then any  time  the
       tty devices in the "/dev" directory change.

       As  of  procps-1.00, mps/mtop read System.map directly if it is available.  The search path for kernel address-to-symbol resolu-
       tion is:
                   $PS_SYSTEM_MAP
                   /boot/System.map-`uname -r`
                   /boot/System.map
                   /lib/modules/`uname -r`/System.map
                   /etc/psdatabase
                   /boot/psdatabase-`uname -r`
                   /boot/psdatabase,
                   /lib/modules/`uname -r`/psdatabase



NOTES

       The member used_math of task_struct is not shown, since crt0.s checks to see if math is present.  This causes the math  flag  to
       be set for all processes, and so it is worthless.

       Programs swapped out to disk will be shown without command line arguments, and unless the c option is given, in parentheses.

       %CPU  shows  the  cputime/realtime percentage.  It will not add up to 100% unless you are lucky.  It is time used divided by the
       time the process has been running.

       The SIZE and RSS fields don't count the page tables and the task_struct of a proc; this is at least 12k of memory that is always
       resident.  SIZE is the virtual size of the proc (code+data+stack).

       To  perform the device number to name mapping mps maintains a file called "/etc/psdevtab" (updated whenever "/dev" becomes newer
       and permissions allow update).  If permissions do not allow update, every invokation of mps requires a stat(2) of every file  in
       the  "/dev"  directory.   If "/dev" entries change often on your system, you should run mps as root often.  I may add a fallback
       file under $HOME under force of popular demand.


AUTHOR

       ps was originally written by Branko Lankester <lankeste@fwi.uva.nl>. Michael K.  Johnson <johnsonm@redhat.com> re-wrote it  sig-
       nificantly to use the proc filesystem, changing a few things in the process.  Michael Shields <mjshield@nyx.cs.du.edu> added the
       pid-list feature.  Charles Blake <cblake@bbn.com> added multi-level sorting, the dirent-style library, the device name-to-number
       mmaped  database,  the  approximate binary search directly on System.map, and many code and documentation cleanups.  David Moss-
       berger-Tang wrote the generic BFD support for psupdate.  Michael K. Johnson <johnsonm@redhat.com> is the current maintainer.

       mps was written by Mathieu Cousin <Mathieu.Cousin@crm.mot.com>. He patch the ps source code to give informations on the location
       of processes on a mosix cluster.

       mps  was modified by Moreno 'baro' Baricevic <baro@democritos.it>. He patch the mps source code to give nmigs, lock and cantmove
       openMosix related informations.

       mps.1, this manpage, is an adapted version of ps.1 from the procps-1.2.9 package.

       This version of procps is no longer  supported  by  procps  team.   If  openMosix  related,  send  bug  reports  to  <openmosix-
       devel@lists.sourceforge.net>.


SEE ALSO

       openmosix(1), ompsinfo(1), mtop(1), ps(1), top(1), pstree(1), proc(5).




openMosix                                                     27 Nov 2003                                                        MPS(1)  <<