Man Linux: Main Page and Category List

NAME

       qps - Visual Process Manager

SYNOPSIS

       qps [ options ]

DESCRIPTION

       qps is a monitor that displays the status of the processes currently in
       existence, much like top(1) or ps(1).  The user interface uses  the  Qt
       toolkit, and most operations should be fairly intuitive.

       The  process  list is sorted by the highlighted field. Click on another
       title to change; click again to reverse the  sorting  order.  Rearrange
       the columns by dragging the titles.

       Left-clicking  on  a  process  selects  or deselects it. Shift-click to
       select multiple processes. The PIDs of selected processes can be pasted
       into other applications (this option can be disabled).

       The  right  mouse  button pops up a context menu, which duplicates some
       functions from  the  main  menu  for  convenience.  It  works  both  on
       processes and on the column headings.

       Control-clicking  in  the  process table selects all processes with the
       same displayed value in the particular column clicked in. For instance,
       to  select  all processes owned by "joshua", keep Control pressed while
       clicking on "joshua". Shift and Control together produces the  expected
       result.

       In  Tree mode, the parent-child relations between processes is shown in
       a more obvious way. Click on the triangles to show or  hide  an  entire
       subtree.  Sorting only affects siblings; the tree structure imposes the
       global order.

       To change the time-sharing priority of the selected processes, type the
       new  priority in the Renice...  dialog. The new nice value should be in
       the range -20 to 20; 0 is the default. A larger number means  that  the
       process  gets less CPU time.  Only the super-user may decrease the nice
       value.

       The Change Scheduling...  dialog allows the super-user  to  change  the
       scheduling  policy of the selected processes (using Posix.1b scheduling
       control).  Normal processes are set  to  SCHED_OTHER  and  have  static
       priority  0;  (soft)  real-time processes have the policy SCHED_FIFO or
       SCHED_RR and  a  static  priority  in  the  range  of  1  to  99.  (See
       sched_setscheduler(2).) Solaris has additional scheduling policies, but
       right now qps doesn’t allow setting these.

       By default, the process display updates every  5  seconds.  To  change,
       type  the  new update period in the Update Period...  dialog. The units
       min, s and ms may be used (if none, seconds are assumed). You can force
       an  update by pressing the space bar or clicking the Update button. qps
       will consume a lot of CPU time if the update period is short  or  zero.
       If iconified, however, qps will use very little CPU.

       The  USER  field  shows the real user ID. If the effective user ID of a
       process is different from its real user ID, a plus sign (+) is appended
       to the user name; if it is the super-user, an asterisk (*) is appended.

       The load, CPU, memory and swap  displays  in  the  status  bar  can  be
       toggled  between  graphic and text representations by clicking on them,
       or by settings in the Preferences...  dialog. The  load  numbers  shown
       are  the  number  of  jobs  in  the run queue averaged over 1, 5 and 15
       minutes.

       The swap bar will turn red if free swap space  falls  below  a  certain
       value,  which  can be changed in the Preferences...  dialog. The number
       can be entered in K, M (megabytes) or % (percent of total swap  space).
       The default is 10%.

       On  SMP  (multi-CPU)  machines  running  Solaris  2.6 or Linux 2.1.x or
       later, the CPU stats will be shown for each processor in vertical mode,
       and the average of all CPUs in horizontal mode.

       For  displaying  the  WCHAN  field  as  symbols, the kernel symbol file
       System.map  is  needed.  qps  will  search  for  it  in  the  following
       locations:

            /boot/System.map-RELEASE
            /boot/System.map
            /lib/modules/RELEASE/System.map
            /usr/src/linux-RELEASE/System.map
            /usr/src/linux/System.map
            /usr/local/src/linux-RELEASE/System.map
            /usr/local/src/linux/System.map

       where  RELEASE  is the kernel release number, for instance "2.0.29". If
       the System.map file isn’t found or  unreadable,  hexadecimal  addresses
       will  be  displayed instead. The prefixes "sys_" and "do_" are stripped
       from the symbols before they are displayed.   Under  Solaris,  symbolic
       names are currently not supported and hexadecimal addresses will always
       be shown.

       The View Details menu item opens a window that shows different  aspects
       of  the  selected  processes. Double-clicking on a process has the same
       effect. All information is only available to the owner of  the  process
       (and to the super-user).

       The  Sockets  table  (Linux  only) shows the currently used TCP and UDP
       sockets. If Host Name Lookup is checked in the  Preferences  dialog,  a
       host  name  lookup  will be done for each IP address. This is done by a
       background process but can take a while for difficult cases  (but  once
       looked up, addresses are cached).

       The  Memory  Maps  table  shows the process’s memory mappings. In Linux
       2.0.x and Solaris, the file names are  not  given.  Anonymous  mappings
       (allocated   memory   not  bound  to  a  file  or  device)  are  marked
       (anonymous).

       The Files table shows the process’s open files.  In  Linux  2.0.x,  the
       files  are  given  on  the  form  [AABB]:inode, where AA and BB are the
       device major/minor numbers in hexadecimal.

       The Environment table shows the process’s environment  variables.  Note
       that  this  is  the environment with which the process was started, not
       necessarily incorporating later changes.  Some  processes  that  modify
       their  command  line,  notably  sendmail(8)  and  ftpd(8),  may use the
       environment space for this, showing nonsense in this table. Clicking on
       the  field  headings  changes sorting order as usual. (On Solaris, only
       the first 8K of the environment are shown. It will be fixed if it turns
       out to be a limitation.)

       Find  Parent  and  Find Children will select the parent/children of the
       selected processes, and center the table on the first  of  them.   Find
       Descendants  will  select  the  tree  of  all  children of the selected
       processes.

       If Include Child Times is selected in the Options menu, the TIME  field
       will  show  the sum of the CPU times used by the process and all of its
       children.

       You can specify commands  to  be  run  on  the  selected  processes  by
       bringing  up  the  Edit  Commands...  dialog. The "Description" of each
       command is what appears in the menu; the  "Command  Line"  is  a  shell
       command  (executed  with  /bin/sh). Before the command is passed to the
       shell, the following substitutions are made:

       %p     with the PID (Process ID) of the selected process

       %c     with the short command name of the process

       %C     with the complete command line of the process

       %u     with the name of the (real) owner of the process

       %%     with a literal ’%’.

       Any other % + letter combination is removed. The command line  will  be
       run once for each selected process (in unspecified order).

KEYBOARD ACCELERATORS

       (valid in most contexts)

       Meta-W Close the active window (except the main window)

       Q, Meta-Q
              Quit qps.

       Space  Force an update of the displayed tables.

       Control-Z
              Iconify qps.

OPTIONS

       -display display
              sets the X display (default is $DISPLAY)

       -geometry geometry
              sets the geometry of the main window of qps

       -background color
              sets  the  default  background  color and an application palette
              (light and dark shades are calculated). This doesn’t  work  very
              well at the moment.

       -foreground color
              sets the default foreground color. This has limited use as well.

       -title title
              sets the application title (caption).

       -style style
              sets the application GUI style. Possible styles  are  motif  and
              windows.   (If you are using Qt 2.x, the styles cde and platinum
              are also available.)

       -font font
              sets the application font

       -iconic
              starts the application iconified.

       -version
              prints the version of qps and the Qt library, and exits.

       -help  prints a summary of command-line options and exits.

ENVIRONMENT

       QPS_COLORS contains color specifications of comma-separated  name:value
       pairs, where name is one of the following:

       cpu-user, cpu-nice (Linux), cpu-sys, cpu-wait (Solaris), cpu-idle, mem-
       used, mem-buff, mem-cache, mem-free, swap-used,  swap-free,  swap-warn,
       load-bg, load-fg, load-lines, selection-bg, selection-fg

       value  is an X11 color name, either a symbolic name like "salmon" or an
       RGB color like #c5b769.

FILES

       /proc                 kernel information pseudo-filesystem
       $HOME/.qps-settings   saved settings between invocations
       /etc/services         port number to service name mapping (Linux)
       System.map            kernel symbol map for WCHAN (Linux)

SEE ALSO

       ps(1),    top(1),     kill(1),     free(1),     renice(8),     proc(5),
       sched_setscheduler(2)

AUTHOR

       Mattias Engdegard (f91-men@nada.kth.se)

LICENSE

       qps is free software and may be redistributed under certain conditions.
       See the GNU General Public License for details.

BUGS

       qps is too big and too slow.

       The %CPU number isn’t accurate at very short update  intervals  due  to
       timer granularity.

       The  %WCPU  field isn’t recalculated when qps is iconified, so it might
       take a while to readjust when the window is deiconified again.

       The WCHAN field doesn’t show a function name if a process sleeps  in  a
       location  outside  those  in  System.map  (for  instance,  in  a kernel
       module), but a hex address instead. The function name can then be found
       in /proc/ksyms but has to be found by hand right now.

       The  CPU  indicator  in  the  status  bar  will display nonsense in SMP
       systems running Linux 2.0.x due to a kernel bug.

       Adding/removing CPUs at runtime will probably confuse qps.