Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ proceso(1M) — Reliant UNIX 5.44c4

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

ps(1)

crash(1M)

showconf(8)

proceso(1M)                                                     proceso(1M)

NAME
     proceso - list processes and kernel memory usage

SYNOPSIS
     proceso [-s] [-p[v[v]] [-k] [-M]

     proceso -c[v[v]]

     proceso -r

     proceso -u[u]]

     ps | proceso [-s] [-p[v[v]]] [-k] [-M]

DESCRIPTION
     proceso reads the processes and kernel segments page tables. These
     page tables hold the page table entries for each page in the address
     space of processes and the kernel. By checking the individual flags of
     the page table entries, proceso can determine which pages are resident
     in the main memory and whether the pages are private to that process
     or shared with other processes. System processes cannot be analyzed.

     The user's access permissions determine how the individual processes
     can be accessed.

OPTIONS
     -s   Summary information about memory usage.

     -p   Summary information about all selected processes.

     -pv  Detailed information about specified processes.

     -pvv Detailed information about specified processes including their
          segments.

     -k   Lists detailed information about each kernel segment.

     -M   Physical memory usage per process.

     -c   Displays running and ready-to-run processes.

     -cv  Extended display of running and ready-to-run processes.

     -cvv Detailed display of running and ready-to-run processes.

     -u   Scans the reference file for memory mapped files proceso.ref and
          update the device and inode entries. Use this option if file sys-
          tems were mounted differently or if you use a proceso.ref file
          from another machine.






Page 1                       Reliant UNIX 5.44                Printed 11/98

proceso(1M)                                                     proceso(1M)

     -uu  Scans all mounted file systems for all entries that have not yet
          been assigned in proceso.ref.

          Note: this may take a long time.

     -r   Scans all directories listed in the proceso.dirs file and adds
          entries to proceso.ref file.

PROCESS MEMORY TYPES
     When the -p option is used, proceso lists the memory usage for each
     process selected. The address space may consist of three sections:

     process private
          This type of memory is used solely by that process. This is typi-
          cally initialized data, memory allocated using malloc(3C), and
          the stack segment.

     shared files
          Reliant UNIX supports the concept of memory mapped files. This is
          a mechanism by which the data of a file is mapped into the
          address space of a process. This means a process can access this
          data by using an address operation. See also mmap(2). Examples of
          such memory mapped files are the code segments of an executable
          or a library.

     shared memory
          Shared memory is a mechanism of the interprocess communication
          facilities (IPC) of Reliant UNIX. Using shared memory processes
          you can communicate and exchange data very quickly.

SUMMARY
     If no option is specified, proceso will give a summary of the system's
     memory usage. Please note that in all following summaries core stands
     for the size of main memory used and total designates the virtual
     size. 1 KB is equal to 1024 bytes. When specifying the -p option,
     proceso will also analyze the processes memory usage.

     ******* SUMMARY OF SYSTEM MEMORY USAGE *******

     type            |number | core(KB) |total(KB)
     ----------------+-------+----------+-------------
     process private |   438 |    74044 |  132964
     mapped files    |   112 |    18912 |   24132
     kernel memory   |       |    66044 |  186636
     memory disk     |     1 |    65536 |
     shared memory   |     0 |        0 |       0
     kernel size     |       |     5548 |
     free memory     |       |    56256 |
     ----------------+-------+----------+-------------
     proceso TOTAL   |       |   286340 |
     ----------------+-------+----------+-------------
     physical memory |       |   327680 |


Page 2                       Reliant UNIX 5.44                Printed 11/98

proceso(1M)                                                     proceso(1M)

     Note:

     The final total may differ by up to 10 percent from the physical
     memory size available in the system.

PROCESS MEMORY ANALYSIS
     Using the -pv option gives a more detailed summary for each process
     and each memory mapped file in the system.

******* ANALYSIS OF SYSTEM MEMORY USAGE BY PROCESSES *******

      |process private| shared files | shared memory |
  pid |  core   total | core   total |  core   total | cmd
------+---------------+--------------+---------------+-----------------------
  661 |     44    128 |  268     720 |     0       0 | /usr/lib/saf/sac -t 300
 9260 |    132    484 |  396     408 |     0       0 | vi xioinfo.h xiospb.h
  267 |      4     24 |   28      68 |     0       0 | cat /dev/osm
  324 |     28     72 |  204     428 |     0       0 | /opt/log3/bin/log3svr -etsdm1440
  325 |     28     72 |  152     412 |     0       0 | /opt/log3/bin/log3tlog2
  326 |     36     64 |  168     420 |     0       0 | /opt/log3/bin/log3syslogd
  490 |      0    324 |    0     716 |     0       0 | /usr/lib/netsvc/rwall/rpc.rwalld
  158 |    436    636 |  292     772 |     0       0 | /sbin/errord
  454 |    240    480 |  416     812 |     0       0 | /usr/sbin/rpcbind
  298 |      8     52 |  164     412 |     0       0 | /usr/sbin/silsd
  349 |    124    340 |  320     824 |     0       0 | /usr/sbin/syslogd
   :
   :
 6852 |    108    192 |  744     820 |     0       0 | in.rlogind
 9950 |    356    492 | 3524    4144 |     0       0 | mwm
14415 |     36     48 |  168     180 |     0       0 | /usr/lib/X11/xdm/Xsession
------+---------------+--------------+---------------+-----------------------
total    85832  34356 KB

******** LIST OF MEMORY MAPPED FILES ********

                  |  core    total |
dev(dec) ino(dec) |  (KB)    (KB)  | name
------------------+----------------+------------------------
 1048576     6185 |     28      68 | /sbin/cat
 1048576     6185 |     28      68 | /usr/bin/cat
 1048576     6217 |     24      28 | /sbin/errord
 1048576     6240 |    168     180 | /sbin/jsh
 1048578     4183 |    576     632 | /usr/lib/libX11.so.5.0
   :
 1048578     4184 |    224     284 | /usr/lib/libXaw.so
 1048578     4184 |    224     284 | /usr/lib/libXaw.so.5.0
 1048578     4186 |     32      40 | /usr/lib/libXext.so
 1048578    28787 |    280     280 | -
------------------+----------------+------------------------
total                20632   23984 KB




Page 3                       Reliant UNIX 5.44                Printed 11/98

proceso(1M)                                                     proceso(1M)

     Note:

     Files are only listed in the table with their full name if this is
     contained in the reference table proceso.ref. The reference table can
     be completed with the names using the option -uu.

DETAILED PROCESS ANALYSIS
     Using the -pvv option, proceso gives a detailed list of all memory
     segments of the specified processes. type specifies the individual
     segment type which can either be a filename (memory mapped) or one of
     PRIVATE, DATA SEGMENT (.data section), STACK or SHARED MEMORY. When
     summing up the values of the individual segments, the segment types
     PRIVATE, DATA SEGMENT and STACK are added to the private private sec-
     tion. Segments of "Memory Mapped" files can be recognized by their
     filenames: "-", when the proceso.ref entry is missing, and are added
     to the value mapped. The flags field specifies the attribute flags:

          R   readable

          W   writeable

          X   segment is executable

          C   shared segment (shared memory)

          B   data segment (.data section)

          S   stack segment

PID:  1578   CMD: //usr/lib/saf/listen tcp

 N | start(X) | core(KB) |total(KB) |    flags     | type
---+----------+----------+----------+--------------+--------------
 0 |        0 |        0 |       16 |  R . X . . . | PRIVATE
 1 |   400000 |       80 |       80 |  R . X . . . | /usr/lib/saf/listen
 2 |   450000 |       32 |       32 |  R W X . . . | PRIVATE
 3 |   458000 |      176 |      176 |  R W X . B . | DATA SEGMENT
 4 |  8000000 |      320 |      480 |  R . X . . . | /usr/lib/libc.so.1
 5 |  807C000 |       16 |       16 |  R W . . . . | PRIVATE
 6 |  80B4000 |       48 |       48 |  R W X . . . | PRIVATE
 7 |  80C0000 |        0 |       16 |  R W X . . . | PRIVATE
 8 |  8100000 |      176 |      272 |  R . X . . . | /usr/lib/libnsl.so
 9 |  8180000 |       32 |       32 |  R W X . . . | PRIVATE
10 |  81C0000 |       96 |       96 |  R . X . . . | /usr/lib/libsocket.so
11 |  8214000 |       16 |       16 |  R W X . . . | PRIVATE
12 | 7FFF4000 |       32 |       32 |  R W X . . S | STACK
---+----------+----------+----------+--------------+--------------
private       |      352 |      384 |
mapped        |      672 |      928 |
shared mem    |        0 |        0 |
--------------+----------+----------+



Page 4                       Reliant UNIX 5.44                Printed 11/98

proceso(1M)                                                     proceso(1M)

PID:  4339   CMD: /sbin/quickdd if=/dev/zero of=/dev/null bs=512 count=1000000

 N | start(X) | core(KB) |total(KB) |    flags     | type
---+----------+----------+----------+--------------+--------------
 0 |        0 |        0 |       16 |  R . X . . . | PRIVATE
 1 |   400000 |       64 |       80 |  R . X . . . | /sbin/quickdd
 2 |   450000 |       16 |       16 |  R W X . . . | PRIVATE
 3 |   454000 |        0 |       16 |  R W X . B . | DATA SEGMENT
 4 |  8004000 |        0 |     1056 |  R W X C . . | SHARED MEMORY
 5 |  8110000 |       16 |       16 |  R W X C . . | SHARED MEMORY
 6 | 7FFF4000 |       16 |       32 |  R W X . . S | STACK
---+----------+----------+----------+--------------+--------------
private       |       32 |       80 |
mapped        |       64 |       80 |
shared mem    |       16 |     1072 |
--------------+----------+----------+

KERNEL MEMORY USAGE
     The -k option gives a detailed list of the allocated kernel segments
     and available (free) memory.

     ****** ANALYSIS OF SYSTEM KERNEL MEMORY USAGE *******

     start    end      segment   core(KB) total(KB)
     --------+--------+--------+---------+-----------
     805C2000 805CB000 SEGK        28968    36864
     805CB000 805E290C SEGMAP      21524    96524
     805E3000 805F0000 SEGU         5300    53248

     struct page array              6753
     --------------------------+---------+-----------
     KERNEL                        62544   186636

PHYSICAL MEMORY USAGE
     proceso displays the physical memory usage in relation to specific
     processes. The appropriate memory areas (e.g. CPU boards) are output
     for the individual physical addresses based on the information con-
     tained in the proceso.sect file.

     Furthermore, the information is output for each process in accordance
     with DETAILED PROCESS ANALYSIS.













Page 5                       Reliant UNIX 5.44                Printed 11/98

proceso(1M)                                                     proceso(1M)

PID: 27709   CMD: -ksh

******** LIST OF PHYSICAL ADDRESSES ********
 S  vaddr(X) |   paddr(X):sect   paddr(X):sect   paddr(X):sect   paddr(X):sect
-------------+----------------------------------------------------------------
*         0 |   2BA80000:b21
*    400000 |   3B0C0000:b24    3D3D0000:        A100000:       2A870000:b21
     410000 |   3DB00000:        C810000:       32340000:b22    225F0000:b21
     420000 |   16100000:b16    30BB0000:b22    3CB80000:       31C90000:b22
     430000 |   139A0000:b15    1E9D0000:b17    3DA60000:        8510000:
     440000 |   1BE60000:b17
*    480000 |   3C9C0000:       18510000:b17     D9A0000:
*    48C000 |    6590000:b14    39300000:b24    35690000:b23    1A640000:b17
*  7FFE8000 |           -       31270000:b22

 N | start(X) | core(KB) | total(KB) |    flags     | type
---+----------+----------+-----------+--------------+-----------------------
 0 |        0 |       16 |        16 |  R . X . . . | PRIVATE
...

PROCESS INFORMATION
     proceso displays process information which is comparable with the out-
     put of the ps command.

     If no other parameters are specified, only those processes belonging
     to the current session are displayed.

     The additional v parameter displays all processes for the user
     currently logged on.

     If the additional vv parameter is specified, more detailed information
     is output for these processes.

     All output types contain information on the processor affinity of the
     processes. A low AFFSEC value means that the process has only recently
     started running on this CPU. The CACHE value specifies how the cache
     is configured (number of "cache lines") by the process - this entry is
     only relevant for 64-bit systems.

******* RUNNING/RUNNABLE PROCESSES *******

  PID  PPID  UID CPU S PRI CLS AFFSEC    CACHE   USR   SYS  SLEEP CMD
15387  9754  215   1 O  34  TS   0.00  4563340  0:00  0:00   0:00 ./proceso -cvv
15388  9754  215   0 R  34  TS   0.04  4563340  0:00  0:00   0:00 pg
 9754  7464  215   1 S  34  TS   0.01  4563340  0:00  0:00   0:00 ksh









Page 6                       Reliant UNIX 5.44                Printed 11/98

proceso(1M)                                                     proceso(1M)

WORKING SET OF A PROCESS
     proceso is very useful in determining the working set of a process and
     for calculating the main memory used for a specified number of users.
     You should use the following syntax to determine, for example, the
     working set of one user:

          ps -u myuser | proceso -pv

     Note:

     proceso handles the first column of the ps output as the process ID.
     For this reason, only ps options that output the process ID in the
     first column should be used.

     The private total process gives the memory usage for one user. You may
     multiply this by the number of users that use the same process envi-
     ronment.

NOTES
     proceso may yield incorrect results or even core dump if the system is
     not booted from /unix. So please verify that /unix is linked to the
     kernel image that has been booted.

FILES
     /opt/bin/proceso/proceso.ref
          As proceso cannot find out the file name of a memory mapped file
          during runtime, it uses a cross-reference list containing the
          file name and the device and inode number. The proceso.ref file
          holds all filenames of memory mapped files and their associated
          device and inode numbers.

          When proceso -pv is executed, an entry with the device and inode
          number is added to the file proceso.ref for files still without
          cross references. The relevant filename is completed in
          proceso.ref with proceso -u.

     /opt/bin/proceso/proceso.dirs
          If the proceso.ref file was removed or cleared for some reason,
          you can create a new reference file based on the directories
          listed in proceso.dirs. This file should contain the directory
          names of all binaries and libraries that may be used by the run-
          ning processes. You may also add directory entries for specific
          add-on products (databases, etc.). See also the -r option.

     /opt/bin/proceso/proceso.sect
          The file is only relevant for the M function. For selected physi-
          cal memory areas, (e.g. CPU board memory), it contains

          1) the Id for this area (max. 4 characters) (1st column);

          2) its hexadecimal start address (2nd column);



Page 7                       Reliant UNIX 5.44                Printed 11/98

proceso(1M)                                                     proceso(1M)

          3) its hexadecimal length (3rd column).

          If "0" is entered as the start address for subsequent entries,
          the start address is the "end address+1" of the previous entry.
          If the proceso.sect file is in the current directory it will be
          used.

          Information on how the memory is assigned to the different boards
          can be displayed with showconf -M.

SEE ALSO
     ps(1), crash(1M), showconf(8).










































Page 8                       Reliant UNIX 5.44                Printed 11/98

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026