NAME¶
pmatop - System & Process Monitor
SYNOPSIS¶
Interactive usage:
pmatop [-g|-m] [-L linelen] [-h host] [
interval [
samples
]]
Writing and reading raw logfiles:
pmatop -w
rawfile [
interval [
samples ]]
pmatop -r [
rawfile ] [-g|-m] [-L linelen] [-h host]
DESCRIPTION¶
The program
pmatop is an interactive monitor to view the load on a Linux
system. It shows the occupation of the most critical hardware resources (from
a performance point of view) on system level, i.e. cpu, memory, disk and
network. By default metrics from the local host are displayed, but a different
host may be specified with the
[-h host] option. It is modeled after
atop(1) and provides a showcase for the variety of data available via
pmcd(1).
Every
interval (default: 10 seconds) information is shown about the
resource occupation on system level (cpu, memory, disks and network layers),
followed by a list of processes which have been active during the last
interval If the list of active processes does not entirely fit on the screen,
only the top of the list is shown.
The intervals are repeated till the number of
samples (specified as
command argument) is reached, or till the key 'q' is pressed in interactive
mode.
When
pmatop is started, it checks whether the standard output channel is
connected to a screen, or to a file/pipe. In the first case it produces screen
control codes (via the ncurses library) and behaves interactively; in the
second case it produces flat ASCII-output.
In interactive mode, the output of
pmatop scales dynamically to the
current dimensions of the screen/window.
Furthermore in interactive mode the output of
pmatop can be controlled by
pressing particular keys. However it is also possible to specify such key as
flag on the command line. In that case
pmatop switches to the
indicated mode on beforehand; this mode can be modified again interactively.
Specifying such key as flag is especially useful when running
pmatop
with output to a pipe or file (non-interactively). These flags are the same as
the keys that can be pressed in interactive mode (see section INTERACTIVE
COMMANDS).
The output of
pmatop consists of system level and process level
information. The system level information consists of the following output
lines:
- PRC
- Process and thread level totals.
This line contains the total cpu time consumed in system mode (`sys') and in
user mode (`user'), the total number of processes present at this moment
(`#proc'), `sleeping interruptible' (`#tslpi') and `sleeping
uninterruptible' (`#tslpu'), and the number of zombie processes
(`#zombie').
- CPU
- The occupation percentage of this process related to the available
capacity for this resource on system level.
This line contains the total CPU usage in system mode, in user mode, in irq
mode, in idle mode, and in wait mode. The cpu lines contain this
information on a per cpu basis.
- CPL
- This line contains load average information for the last minute, five
minutes, and fifteen minutes. Also the number of context switches and the
number of device interrupts.
- MEM
- This line contains the size of physical memory, free memory, page cache,
buffer cache, and slab.
- SWP
- This line contains the size of swap, free swap, committed space, and
committed space limit.
- PAG
- This line contains the number of page scans, allocstalls, swapins, and
swapouts.
- LVM/MDD/DSK
- For every logical volume/multiple device/hard disk one line is shown
containing the nàme, number of reads, and number of writes.
- NET
- The first line is for the upper TCP/IP layer and contains the number of
packets received, packets transmitted, packets received. The next line is
one per network interface and contains the number of packets received and
number of packets transmitted.
- PROCESS
- The remaining lines are one line per process and can be controlled as
described below.
INTERACTIVE COMMANDS¶
When running
pmatop interactively (no output redirection), keys can be
pressed to control the output.
- g
- Show generic output (default).
Per process the following fields are shown in case of a window-width of 80
positions: process-id, cpu consumption during the last interval in system-
and user mode, the virtual and resident memory growth of the process.
The subsequent columns are the username, number of threads in the thread
group, the status and exit code are shown.
The last columns contain the state, the occupation percentage for the chosen
resource (default: cpu) and the process name.
When more than 80 positions are available, other information is added.
- m
- Show memory related output.
Per process the following fields are shown in case of a window-width of 80
positions: process-id, minor and major memory faults, size of virtual
shared text, total virtual process size, total resident process size,
virtual and resident growth during last interval, memory occupation
percentage and process name.
When more than 80 positions are available, other information is added.
Miscellaneous interactive commands:
- ?
- Request for help information (also the key 'h' can be pressed).
- z
- The pause key can be used to freeze the current situation in order to
investigate the output on the screen. While pmatop is paused, the
keys described above can be pressed to show other information about the
current list of processes. Whenever the pause key is pressed again, pmatop
will continue with a next sample.
SEE ALSO¶
PCPIntro(1),
collectl(1),
perl(1),
python(1),
pmlogger(1),
pmcd(1),
pmprobe(1),
pmval(1),
PMAPI(3), and
pcp.conf(4).