1PCP-ATOP(1)                 General Commands Manual                PCP-ATOP(1)
2
3
4

NAME

6       pcp-atop - Advanced System and Process Monitor
7

SYNOPSIS

9       Interactive Usage:
10
11       pcp   [pcp options]  atop  [-aABcCdDfFgGHmMnNopRsuvxyY1]  [-L  linelen]
12       [-Plabel[,label]... [-Z]] [interval [samples]]
13
14       Writing and reading PCP archive folios:
15
16       pcp atop -w folio [-a] [-S] [interval [samples]]
17       pcp atop -r folio [-AcCdDfFgGmMnNopRsuvxy1] [-b [yy-mm-dd]  hh:mm]  [-e
18       yy-mm-dd] hh:mm] [-L linelen] [-Plabel[,label]... [-Z]] [interval [sam‐
19       ples]]
20

DESCRIPTION

22       The program pcp-atop is an interactive monitor to view various  aspects
23       of  load on a system.  Every interval seconds (default: 10 seconds) in‐
24       formation is gathered about the resource occupation on system level  of
25       the  most  critical  hardware  resources  (from  a performance point of
26       view), i.e. CPUs, memory, disks and network interfaces. Besides, infor‐
27       mation  is gathered about the processes (or threads) that are responsi‐
28       ble for the utilization of the CPUs, memory and  disks.   Network  load
29       per process is shown only when the PCP pmdabcc(1) metrics have been in‐
30       stalled and configured.
31

BAR GRAPH MODE

33       When running pcp-atop you can choose to view the  system  load  in  bar
34       graph mode or in text mode.  In bar graph mode the resource utilization
35       of CPUs, memory, disks and network interfaces is shown via  (character-
36       based)  bar  graphs,  but  only on system level.  When you want to view
37       more detailed information on system level or when you want to view  the
38       resource consumption on process or thread level, you can switch to text
39       mode by pressing the 'B' key. Alternatively, you can use  the  'B'  key
40       (again) to switch from text mode to bar graph mode.
41       By  default, pcp-atop starts in text mode unless the -B flag is used or
42       unless 'B' has been configured as a default flag in  the  .atoprc  file
43       (for  further  information  about  default flags, refer to the pcp-ato‐
44       prc(5) man page).
45
46       In bar graph mode the terminal will be subdivided into four  character-
47       based windows, i.e. one window for each hardware resource:
48
49       Processors
50            The  first  bar shows the average busy percentage of all CPUs with
51            the bar label 'Avg' (might be abbreviated to  'Av'  or  even  just
52            'A').   The  subsequent  bars  show the busy percentages of single
53            CPUs.
54            When there is not enough horizontal space to show all  CPUs,  only
55            the  most  busy  CPUs  per sample will be shown after the width of
56            each bar has been reduced to a minimum.
57
58            By default, the categories of CPU consumption are shown by differ‐
59            ent colors in the bars, marked with a character 'S' (system mode),
60            'U' (user mode), 'I' (interrupt handling),  's'  (steal)  and  'G'
61            (guest, i.e. consumed by virtual machines).
62            The top of the bar might consist of an unmarked color representing
63            a 'neutral' category. Suppose that the scale unit is 5%  per  line
64            and  the total busy percentage is 54% consisting of two categories
65            of 27%.  The two categories will be rounded to 25% (5 lines of  5%
66            each)  but  the  total  busy percentage will be rounded to 55% (11
67            lines of 5%).  Then the top line will represent a 'neutral'  cate‐
68            gory.
69            By  pressing the 'H' key or by starting pcp-atop with the -H flag,
70            no categories are shown.
71
72            A red line is drawn in the bar graph as  critical  threshold.   By
73            default this value is 90% and can be modified by the 'cpucritperc'
74            option in the configuration file (see separate  pcp-atoprc(5)  man
75            page).   When this value is set to zero, no threshold line will be
76            drawn.
77
78       Memory and swap space
79            Memory is presented as a column in which the  specific  categories
80            of  memory consumption are shown. These categories are (code, data
81            and  stack of) processes/kernel, slab caches (i.e. dynamically al‐
82            located  kernel memory), shared memory, tmpfs, page cache and free
83            memory.
84            Swap space (if present) is also presented as a column in which the
85            categories  processes/tmpfs,  shared  memory  and  free  space are
86            shown.
87
88            At the right side memory-related event counters are shown.
89            The bottom three counters are colored green when there is no  mem‐
90            ory  pressure.  When considerable activity is noticed such counter
91            might be colored orange and with high activity red.
92            When memory pressure starts, usually memory page scanning will  be
93            activated  first.  When  pressure  increases, memory pages of pro‐
94            cesses might be swapped out to swap space (if present).
95            The 'oomkills' counter (Out Of Memory killing) is most serious: it
96            reflects  the  number  of processes that are killed due to lack of
97            memory (and swap). Therefore this counter shows the absolute  num‐
98            ber (not per second) of processes being killed during the last in‐
99            terval and will immediately be colored red when it is 1  or  more.
100            Besides,  after  pcp-atop  has  noticed OOM killing the 'oomkills'
101            counter remains orange for the next 15 minutes, just in case  that
102            you have missed the OOM killing event itself.
103            When  there  is  enough vertical space in the memory window, event
104            counters are shown about the number of memory pages being  swapped
105            in,  the number of memory pages paged out to block devices and the
106            number of memory pages paged in from block devices.
107
108            Memory and swap space consumption will preferably be  shown  in  a
109            character-based  window that vertically uses the entire screen for
110            optimal granularity. However, when there are a lot of disks and/or
111            network  interfaces  the memory and swap space consumption will be
112            shown in a character-based window that only uses the upper half of
113            the screen.
114
115       Disks
116            For each disk the busy percentage is shown as a bar.
117            When  there is not enough horizontal space to show all disks, only
118            the most busy disks per sample will be shown.
119
120            By default, categories of disk consumption are shown by  different
121            colors  in  the  bars,  marked with a character 'R' (read) and 'W'
122            (write).
123            The top of the bar might consist of an unmarked color representing
124            a  'neutral'  category. Suppose that the scale unit is 5% per line
125            and the total busy percentage is 54% consisting of two  categories
126            of  27%.  The two categories will be rounded to 25% (5 lines of 5%
127            each) but the total busy percentage will be  rounded  to  55%  (11
128            lines  of 5%).  Then the top line will represent a 'neutral' cate‐
129            gory.
130            By pressing the 'H' key or by starting pcp-atop with the -H  flag,
131            no categories are shown.
132
133            A  red  line  is drawn in the bar graph as critical threshold.  By
134            default this value is 90% and can be modified by the 'dskcritperc'
135            option  in  the configuration file (see separate atoprc man page).
136            When this value is set to zero, no threshold line will be drawn.
137
138       Interfaces
139            For each non-virtual network interface a double bar graph is shown
140            with  a dedicated scale that reflects the traffic rate. One of the
141            bars shows the transmit rate ('TX') and the other bar the  receive
142            rate  ('RX').  The traffic scale of each network interface remains
143            at its highest level.  All interface scales can  be  reset  during
144            the measurement by pressing the 'L' key.
145
146            Most  often  the  real speed (maximum bandwidth) of network inter‐
147            faces is not known, e.g. in case of the network interfaces of vir‐
148            tual machines.  Therefore it is not possible to show the interface
149            utilization as a percentage. However, when the real  speed  of  an
150            interface  is known it will be shown underneath the concerning bar
151            graph.
152
153            When there is not enough horizontal space to show all network  in‐
154            terfaces, only the most busy interfaces per sample will be shown.
155
156       Usually the bar graphs will not be sorted on busy percentage when there
157       is enough horizontal space. However, after switching from text mode  to
158       bar  graph  mode the bar graphs might have been sorted because this was
159       needed for the presentation in text mode.  The  next  interval  in  bar
160       graph mode shows the bars unsorted again unless the window width is un‐
161       sufficient for all bars.
162
163       The remaining part of this manual page mainly describes the information
164       shown  in text mode.  When certain descriptions also apply to bar graph
165       mode it will be mentioned explicitly.
166
167

TEXT MODE IN GENERAL

169       The initial screen in text mode shows if pcp-atop runs with  restricted
170       view  (unprivileged  user)  or unrestricted view (privileged user).  In
171       case of restricted view pcp-atop does not  have  the  privileges  (root
172       identity  or  necessary capabilities) to retrieve all counter values on
173       system level and on process level.  does not have  the  privileges  (no
174       root  identity  nor the necessary capabilities) to retrieve all counter
175       values on system level and on process level.
176
177       With every interval information is shown about the resource  occupation
178       on  system level (CPU, memory, disks and network layers), followed by a
179       list of processes which have been active during the last interval.  No‐
180       tice that all processes that were unchanged during the last interval re
181       not shown, unless the key 'a' has been pressed  or  unless  sorting  on
182       memory  occupation  is  done  (then  inactive processes are relevant as
183       well).  If the list of active processes does not entirely  fit  on  the
184       screen,  only  the  top of the list is shown (sorted in order of activ‐
185       ity).
186       The intervals are repeated till the number  of  samples  (specified  as
187       command  argument) is reached, or till the key 'q' is pressed in inter‐
188       active mode.
189
190       When  invoked  via  the  pcp(1)  command,   the   PCPIntro(1)   options
191       -A/--align,    -a/--archive,    -h/--host,   -O/--origin,   -S/--start,
192       -s/--samples, -T/--finish, -t/--interval,  -v/--version,  -z/--hostzone
193       and  -z/--timezone  become  indirectly  available.   Additionally,  the
194       --hotproc option can be used to request the per-process PCP metrics  be
195       used instead of the default proc metrics from pmdaproc(1).
196
197       When pcp-atop is started, it checks whether the standard output channel
198       is connected to a screen, or to a file/pipe.  In the first case it pro‐
199       duces screen control codes (via the ncurses library) and behaves inter‐
200       actively; in the second case it produces flat text output.
201
202       In interactive mode, the output of pcp-atop scales dynamically  to  the
203       current dimensions of the screen/window.
204       If the window is resized horizontally, columns will be added or removed
205       automatically. For this purpose, every column has a particular  weight.
206       The  columns with the highest weights that fit within the current width
207       will be shown.
208       If the window is resized vertically, lines of the  process/thread  list
209       will be added or removed automatically.
210
211       In  interactive mode the output of pcp-atop can be controlled by press‐
212       ing particular keys.  However it is also possible to specify  such  key
213       as flag on the command line.  In that case pcp-atop switches to the in‐
214       dicated mode on beforehand.  This mode can be modified  again  interac‐
215       tively.   Specifying such key as flag is especially useful when running
216       pcp-atop with output to a  pipe  or  file  (non-interactively).   These
217       flags  are the same as the keys that can be pressed in interactive mode
218       (see section INTERACTIVE COMMANDS).
219       Additional flags are available to support storage of pcp-atop  data  in
220       PCP archive format (see section PCP DATA STORAGE).
221

COLORS

223       For  the  resource consumption on system level, pcp-atop uses colors in
224       text mode to indicate that a critical occupation  percentage  has  been
225       (almost) reached.  A critical occupation percentage means that is like‐
226       ly that this load causes a noticeable  negative  performance  influence
227       for  applications using this resource.  The critical percentage depends
228       on the type of resource: e.g. the performance influence of a disk  with
229       a  busy  percentage  of  80%  might  be  more  noticeable  for applica‐
230       tions/users than a CPU with a busy percentage of 90%.
231       Currently pcp-atop uses the following default  values  to  calculate  a
232       weighted percentage per resource:
233
234        Processor
235            A  busy percentage of 90% or higher is considered 'critical' (also
236            in bar graph mode).
237
238        Disk
239            A busy percentage of 90% or higher is considered 'critical'.
240
241        Network
242            A busy percentage of 90% or higher for the load of an interface is
243            considered 'critical'.
244
245        Memory
246            An  occupation percentage of 90% is considered 'critical'.  Notice
247            that this occupation percentage is the accumulated memory consump‐
248            tion  of the kernel (including slab) and all processes. The memory
249            for the page cache ('cache' and 'buff' in the  MEM-line)  and  the
250            reclaimable part of the slab ('slrec') is not implied!
251            If  the  number  of pages swapped out ('swout' in the PAG-line) is
252            larger than 10 per  second,  the  memory  resource  is  considered
253            'critical'.   A  value of at least 1 per second is considered 'al‐
254            most critical'.
255            If the committed virtual memory exceeds  the  limit  ('vmcom'  and
256            'vmlim'  in the SWP-line), the SWP-line is colored due to overcom‐
257            mitting the system.
258
259        Swap
260            An occupation percentage of 80% is considered  'critical'  because
261            swap  space  might be completely exhausted in the near future.  It
262            is not critical from a performance point-of-view.
263
264       These default values can be modified in  the  configuration  file  (see
265       separate pcp-atoprc(5) man page).
266
267       When  a  resource  exceeds its critical occupation percentage, the con‐
268       cerning values in the screen line are colored red by default.
269       When a resource exceeds (by default) 80% of its critical percentage (so
270       it  is  almost  critical), the concerning values in the screen line are
271       colored cyan by default.  This 'almost critical percentage' (one  value
272       for all resources) can be modified in the configuration file (see sepa‐
273       rate pcp-atoprc(5) man page).
274       The default colors red and cyan can be modified  in  the  configuration
275       file as well (see separate man-page of pcp-atoprc(5)).
276
277       With  the  key 'x' (or flag -x), the use of colors can be suppressed in
278       text mode.  The use of colors is however mandatory in case of bar graph
279       mode.
280

GPU STATISTICS GATHERING

282       GPU statistics can be gathered by pmdanvidia(1) which is a separate da‐
283       ta collection daemon process.  It gathers cumulative utilization  coun‐
284       ters of every Nvidia GPU in the system, as well as utilization counters
285       of every process that uses a GPU.  When pcp-atop notices that the  dae‐
286       mon  is  active, it reads these GPU utilization counters with every in‐
287       terval.
288
289       Find a description about the utilization counters in the section OUTPUT
290       DESCRIPTION.
291

INTERACTIVE COMMANDS

293       When  running  pcp-atop interactively (no output redirection), keys can
294       be pressed to control the output.  In general, lower case keys  can  be
295       used  to  show other information for the active processes while certain
296       upper case keys can be used to influence the sort order of  the  active
297       process/thread list. Some of these keys can also be used to switch from
298       bar graph mode to particular detailed process information in text mode.
299
300       g    Show generic output (default).
301
302            Per process the following fields are shown in case  of  a  window-
303            width of 80 positions: process-id, CPU consumption during the last
304            interval in system and user mode, the virtual and resident  memory
305            growth of the process.
306            The  data  transfer per process for read/write on disk can only be
307            shown when pcp-atop accesses metrics with root privileges.
308            The last columns contain the state, the occupation percentage  for
309            the chosen resource (default: CPU) and the process name.
310
311            When  more  than  80 positions are available, other information is
312            added.
313
314       m    Show memory related output.
315
316            Per process the following fields are shown in  case  of  a  window
317            width  of 80 positions: process-id, minor and major memory faults,
318            size of virtual shared text, total  virtual  process  size,  total
319            resident process size, virtual and resident growth during last in‐
320            terval, memory occupation percentage and process name.
321
322            When more than 80 positions are available,  other  information  is
323            added.
324
325            For  memory  consumption, always all processes are shown (also the
326            processes that were not active during the interval).
327
328       d    Show disk-related output.
329
330            When pcp-atop runs with root privileges, the following fields  are
331            shown:  process-id,  amount of data read from disk, amount of data
332            written to disk, amount of data that  was  written  but  has  been
333            withdrawn  again  (WCANCL), disk occupation percentage and process
334            name.
335
336       s    Show scheduling characteristics.
337
338            Per process the following fields are shown in  case  of  a  window
339            width  of  80  positions:  process-id,  number of threads in state
340            'running' (R), number of threads in state 'interruptible sleeping'
341            (S),  number  of  threads in state 'uninterruptible sleeping' (D),
342            scheduling policy (normal timesharing, realtime round-robin, real‐
343            time  fifo), nice value, priority, realtime priority, current pro‐
344            cessor, status, exit code, state, the  occupation  percentage  for
345            the chosen resource and the process name.
346
347            When  more  than  80 positions are available, other information is
348            added.
349
350       v    Show various process characteristics.
351
352            Per process the following fields are shown in  case  of  a  window
353            width of 80 positions: process-id, user name and group, start date
354            and time, status (e.g. exit code if  the  process  has  finished),
355            state,  the  occupation percentage for the chosen resource and the
356            process name.
357
358            When more than 80 positions are available,  other  information  is
359            added.
360
361       c    Show the command line of the process.
362
363            Per  process the following fields are shown: process-id, the occu‐
364            pation percentage for the chosen resource and the command line in‐
365            cluding arguments.
366
367       X    Show cgroup v2 information.
368
369            Per  process  the following fields are shown: process-id, the com‐
370            mand name, and the cgroup path name (horizontally scrollable).
371
372       e    Show GPU utilization.
373
374            Per process at least the following fields are  shown:  process-id,
375            range of GPU numbers on which the process currently runs, GPU busy
376            percentage on all GPUs, memory  busy  percentage  (i.e.  read  and
377            write  accesses  on  memory) on all GPUs, memory occupation at the
378            moment of the sample, average memory occupation during the sample,
379            and GPU percentage.
380
381            When  the pmdanvidia daemon does not run with root privileges, the
382            GPU busy percentage and the memory busy percentage are not  avail‐
383            able  on  process  level.   In  that  case,  the GPU percentage on
384            process level reflects the GPU memory occupation  instead  of  the
385            GPU busy percentage (which is preferred).
386
387       o    Show the user-defined line of the process.
388
389            In the configuration file the keyword ownprocline can be specified
390            with the description of a user-defined output-line.
391            Refer to the man-page of pcp-atoprc(5) for a detailed description.
392
393       y    Show the individual threads within a process (toggle).
394
395            Single-threaded processes are still shown as one line.
396            For multi-threaded processes,  one  line  represents  the  process
397            while additional lines show the activity per individual thread (in
398            a different color).  Depending on the option 'a'  (all  or  active
399            toggle),  all  threads are shown or only the threads that were ac‐
400            tive during the last interval.  Depending on the option 'Y'  (sort
401            threads),  the  threads  per  process will be sorted on the chosen
402            sort criterium or not.
403            Whether this key is active or not can be seen in the header line.
404
405       Y    Sort the threads per process when combined with option  'y'  (tog‐
406            gle).
407
408       u    Show the process activity accumulated per user.
409
410            Per  user  the following fields are shown: number of processes ac‐
411            tive or terminated during last interval (or in total  if  combined
412            with  command 'a'), accumulated CPU consumption during last inter‐
413            val in system and user mode, the current virtual and resident mem‐
414            ory  space  consumed  by active processes (or all processes of the
415            user if combined with command 'a').
416            When pcp-atop access metrics with root privileges, the accumulated
417            read  and  write throughput on disk is shown.  When the pmdabcc(1)
418            module 'netproc' has been installed, the  number  of  receive  and
419            send network calls are shown.
420            The last columns contain the accumulated occupation percentage for
421            the chosen resource (default: CPU) and the user name.
422
423       p    Show the process activity accumulated per  program  (i.e.  process
424            name).
425
426            Per  program  the  following fields are shown: number of processes
427            active or terminated during last interval (or in total if combined
428            with  command 'a'), accumulated CPU consumption during last inter‐
429            val in system and user mode, the current virtual and resident mem‐
430            ory  space  consumed  by active processes (or all processes of the
431            user if combined with command 'a').
432            When pcp-atop access metrics with root privileges, the accumulated
433            read  and  write throughput on disk is shown.  When the pmdabcc(1)
434            module 'netproc' has been installed, the  number  of  receive  and
435            send network calls are shown.
436            The last columns contain the accumulated occupation percentage for
437            the chosen resource (default: CPU) and the program name.
438
439       j    Show the process activity accumulated per Docker container.
440
441            Per container the following fields are shown: number of  processes
442            active or terminated during last interval (or in total if combined
443            with command 'a'), accumulated CPU consumption during last  inter‐
444            val in system and user mode, the current virtual and resident mem‐
445            ory space consumed by active processes (or all  processes  of  the
446            user if combined with command 'a').
447            When pcp-atop access metrics with root privileges, the accumulated
448            read and write throughput on disk is shown.  When  the  pmdabcc(1)
449            module  'netproc'  has  been  installed, the number of receive and
450            send network calls are shown.
451            The last columns contain the accumulated occupation percentage for
452            the  chosen  resource  (default:  CPU) and the Docker container id
453            (CID).
454
455       C    Sort the current list in the order of CPU  consumption  (default).
456            The one-but-last column changes to 'CPU'.
457
458       E    Sort  the current list in the order of GPU utilization (preferred,
459            but only applicable when the pmdanvidia  daemon  runs  under  root
460            privileges)  or the order of GPU memory occupation).  The one-but-
461            last column changes to 'GPU'.
462
463       M    Sort the current list in the order of resident memory consumption.
464            The  one-but-last  column changes to 'MEM'.  In case of sorting on
465            memory, the full process list will be shown (not only  the  active
466            processes).
467
468       D    Sort  the  current list in the order of disk accesses issued.  The
469            one-but-last column changes to 'DSK'.
470
471       N    Sort the current list in the order of network bandwidth  (received
472            and transmitted).  The one-but-last column changes to 'NET'.
473
474       A    Sort  the current list automatically in the order of the most busy
475            system resource during this  interval.   The  one-but-last  column
476            shows  either  'ACPU', 'AMEM', 'ADSK' or 'ANET' (the preceding 'A'
477            indicates automatic sorting-order).  The most busy resource is de‐
478            termined  by comparing the weighted busy-percentages of the system
479            resources, as described earlier in the section COLORS.
480            This option remains valid until another sorting-order is explicit‐
481            ly selected again.
482            A  sorting order for disk is only possible when pcp-atop runs with
483            root privileges.  A sorting-order for  network  is  only  possible
484            when the pmdabcc(1) module 'netproc' has been installed.
485
486       Miscellaneous interactive commands:
487
488       ?    Request for help information (also the key 'h' can be pressed).
489
490       V    Request for version information (version number and date).
491
492       R    Gather  and calculate the proportional set size of processes (tog‐
493            gle).  Gathering of all values that are needed  to  calculate  the
494            PSIZE  of  a  process  is  a very time-consuming task, so this key
495            should only be active when analyzing the resident memory  consump‐
496            tion of processes.
497
498       W    Get  the WCHAN per thread (toggle).  Gathering of the WCHAN string
499            per thread is a relatively time-consuming task, so this key should
500            only be made active when analyzing the reason for threads to be in
501            sleep state.
502
503       x    Suppress colors to highlight critical resources (toggle).
504            Whether this key is active or not can be seen in the header line.
505
506       z    The pause key can be used to freeze the current situation in order
507            to  investigate  the  output  on  the  screen.   While pcp-atop is
508            paused, the keys described above can be pressed to show other  in‐
509            formation about the current list of processes.  Whenever the pause
510            key is pressed again, pcp-atop will continue with the next sample.
511            The pause key can be used in text mode and bar graph mode.
512
513       i    Modify the interval timer (default: 10 seconds).  If  an  interval
514            timer  of  0  is  entered, the interval timer is switched off.  In
515            that case a new sample can only be triggered manually by  pressing
516            the key 't'.
517            The interval can be modified in text mode and bar graph mode.
518
519       t    Trigger  a  new  sample  manually.  This key can be pressed if the
520            current sample should be finished before the timer  has  exceeded,
521            or  if  no  timer is set at all (interval timer defined as 0).  In
522            the latter case pcp-atop can be used as a stopwatch to measure the
523            load being caused by a particular application transaction, without
524            knowing on beforehand how many seconds this transaction will last.
525            This key can be used in text mode and bar graph mode.
526
527            When viewing the contents of an archive folio,  this  key  can  be
528            used to show the next sample from the folio.
529
530       T    When  viewing  the  contents  of an archive folio, this key can be
531            used to show the previous sample from the folio.
532            This key can be used in text mode and bar graph mode.
533
534       b    When viewing the contents of an archive folio,  this  key  can  be
535            used  to  move to a certain timestamp within the file (either for‐
536            ward or backward).
537            This key can be used in text mode and bar graph mode.
538
539       r    Reset all counters to zero to see the system and process  activity
540            since boot again.
541            This key can be used in text mode and bar graph mode.
542
543            When  viewing  the contents of an archive, this key can be used to
544            rewind to the beginning of the file again.
545
546       U    Specify a search string for specific user names as a  regular  ex‐
547            pression.  From now on, only (active) processes will be shown from
548            a user which matches the regular expression.  The  system  statis‐
549            tics  are  still system wide.  If the Enter-key is pressed without
550            specifying a name, (active) processes of all users will  be  shown
551            again.
552            Whether this key is active or not can be seen in the header line.
553
554       I    Specify a list with one or more PIDs to be selected.  From now on,
555            only processes will be shown with a PID which matches one  of  the
556            given  list.  The system statistics are still system wide.  If the
557            Enter-key is pressed without specifying a PID, all  (active)  pro‐
558            cesses will be shown again.
559            Whether this key is active or not can be seen in the header line.
560
561       P    Specify  a  search  string for specific process names as a regular
562            expression.  From now on, only processes will be shown with a name
563            which  matches  the regular expression.  The system statistics are
564            still system wide.  If the Enter-key is pressed without specifying
565            a name, all (active) processes will be shown again.
566            Whether this key is active or not can be seen in the header line.
567
568       /    Specify a specific command line search string as a regular expres‐
569            sion.  From now on, only processes will be shown  with  a  command
570            line  which matches the regular expression.  The system statistics
571            are still system wide.  If the Enter-key is pressed without speci‐
572            fying a string, all (active) processes will be shown again.
573            Whether this key is active or not can be seen in the header line.
574
575       J    Specify  a  Docker  container  id  of 12 (hexadecimal) characters.
576            From now on, only processes will be shown that run in that specif‐
577            ic Docker container (CID).  The system statistics are still system
578            wide.  If the Enter-key is pressed without specifying a  container
579            id, all (active) processes will be shown again.
580            Whether this key is active or not can be seen in the header line.
581
582       Q    Specify  a comma-separated list of process state characters.  From
583            now on, only processes will be shown that are  in  those  specific
584            process states.  Accepted states are: R (running), S (sleeping), D
585            (disk sleep), T (stopped), t (tracing stop), X (dead), Z  (zombie)
586            and  P (parked).  The system statistics are still system wide.  If
587            the Enter-key is pressed without specifying a state, all  (active)
588            processes will be shown again.
589            Whether this key is active or not can be seen in the header line.
590
591       S    Specify search strings for specific logical volume names, specific
592            disk names and  specific  network  interface  names.   All  search
593            strings  are  interpreted  as a regular expressions.  From now on,
594            only those system resources are shown that  match  the  concerning
595            regular  expression.  If the Enter-key is pressed without specify‐
596            ing a search string, all (active) system resources  of  that  type
597            will be shown again.
598            Whether this key is active or not can be seen in the header line.
599
600       a    The  'all/active'  key  can  be  used to toggle between only show‐
601            ing/accumulating the processes that were active  during  the  last
602            interval (default) or showing/accumulating all processes.
603            Whether this key is active or not can be seen in the header line.
604
605       G    By  default,  pcp-atop  shows/accumulates  the  processes that are
606            alive and the processes that are exited during the last  interval.
607            With  this  key  (toggle), showing/accumulating the processes that
608            are exited can be suppressed.
609            Whether this key is active or not can be seen in the header line.
610
611       f    Show a fixed (maximum) number of header lines for system resources
612            (toggle).   By  default  only the lines are shown about system re‐
613            sources (CPUs, paging, logical volumes, disks, network interfaces)
614            that  really have been active during the last interval.  With this
615            key you can force pcp-atop to show lines of inactive resources  as
616            well.
617            Whether this key is active or not can be seen in the header line.
618
619       F    Suppress  sorting of system resources (toggle).  By default system
620            resources (CPUs, logical volumes, disks, network  interfaces)  are
621            sorted on utilization.
622            Whether this key is active or not can be seen in the header line.
623
624       1    Show  relevant  counters  as  an average per second (in the format
625            '..../s') instead of as a total during the interval (toggle).
626            Whether this key is active or not can be seen in the header line.
627
628       l    Limit the number of system level lines for the  counters  per-cpu,
629            the active disks and the network interfaces.  By default lines are
630            shown of all CPUs, disks and network interfaces  which  have  been
631            active during the last interval.  Limiting these lines can be use‐
632            ful on systems with huge number CPUs, disks or interfaces in order
633            to  be  able  to run pcp-atop on a screen/window with e.g. only 24
634            lines.
635            For all mentioned resources the maximum number  of  lines  can  be
636            specified interactively. When using the flag -l the maximum number
637            of per-cpu lines is set to 0, the maximum number of disk lines  to
638            5  and  the  maximum number of interface lines to 3.  These values
639            can be modified again in interactive mode.
640
641       k    Send a signal to an active process (a.k.a. kill a process).
642
643       q    Quit the program.
644            This key can be used in text mode and bar graph mode.
645
646       PgDn Show the next page of the process/thread list.
647            With the arrow-down key the list can be  scrolled  downwards  with
648            single lines.
649
650       ^F   Show the next page of the process/thread list (forward).
651            With  the  arrow-down  key the list can be scrolled downwards with
652            single lines.
653
654       PgUp Show the previous page of the process/thread list.
655            With the arrow-up key the list can be scrolled upwards with single
656            lines.
657
658       ^B   Show the previous page of the process/thread list (backward).
659            With the arrow-up key the list can be scrolled upwards with single
660            lines.
661
662       ^L   Redraw the screen.
663

PCP DATA STORAGE

665       In order to store system and process  level  statistics  for  long-term
666       analysis  (e.g.  to check the system load and the active processes run‐
667       ning yesterday between 3:00 and 4:00 PM), pcp-atop can store the system
668       and  process  level statistics in the PCP archive format, as an archive
669       folio (see mkaf(1)).
670       All information about processes and threads is stored in the archive.
671       The interval (default: 10 seconds) and number of samples (default:  in‐
672       finite) can be passed as last arguments.  Instead of the number of sam‐
673       ples, the flag -S can be used to indicate that pcp-atop  should  finish
674       anyhow before midnight.
675
676       A PCP archive can be read and visualized again with the -r option.  The
677       argument is a comma-separated list of names, each of which may  be  the
678       base  name  of  an archive or the name of a directory containing one or
679       more archives.  If no argument is specified, the file  $PCP_LOG_DIR/pm‐
680       logger/HOST/YYYYMMDD  is  opened  for  input (where YYYYMMDD are digits
681       representing the current date, and HOST is the hostname of the  machine
682       being logged).  If a filename is specified in the format YYYYMMDD (rep‐
683       resenting any valid date), the file $PCP_LOG_DIR/pmlogger/HOST/YYYYMMDD
684       is  opened.   If a filename with the symbolic name y is specified, yes‐
685       terday's daily logfile is opened (this can be repeated so 'yyyy'  indi‐
686       cates the logfile of four days ago).
687       The  samples from the file can be viewed interactively by using the key
688       't' to show the next sample, the key 'T' to show the  previous  sample,
689       the  key 'b' to branch to a particular time or the key 'r' to rewind to
690       the beginning of the file.  These keys can be used in text mode as well
691       as in bar graph mode.
692       When  output  is redirected to a file or pipe, pcp-atop prints all sam‐
693       ples in plain ASCII.  The default line length is 80 characters in  that
694       case.  With  the flag -L followed by an alternate line length, more (or
695       less) columns will be shown.
696       With the flag -b (begin time) and/or -e (end time) followed by  a  time
697       argument of the form [YY-MM-DD] HH:MM, a certain time period within the
698       archive can be selected.
699

OUTPUT DESCRIPTION

701       The first sample shows  the  system  level  activity  since  boot  (the
702       elapsed time in the header shows the time since boot).
703
704       In  text  mode,  pcp-atop first shows the lines related to system level
705       activity for every sample.  If a particular  system  resource  has  not
706       been used during the interval, the entire line related to this resource
707       is suppressed. So the number of system level lines may  vary  for  each
708       sample.
709       After  that  a list is shown of processes which have been active during
710       the last interval.  This list is by default sorted on CPU  consumption,
711       but  this  order  can  be  changed by the keys which are previously de‐
712       scribed.
713
714       If values have to be shown by pcp-atop which do not fit in  the  column
715       width, another format is used. If e.g. a CPU consumption of 233216 mil‐
716       liseconds should be shown in a column width of 4 positions, it is shown
717       as '233s' (in seconds).  For large memory figures, another unit is cho‐
718       sen if the value does not fit (Mb instead of Kb, Gb instead of  Mb,  Tb
719       instead  of  Gb, etcetera).  For other values, a kind of exponent nota‐
720       tion is used (value 123456789 shown in a column of  5  positions  gives
721       123e6).
722

OUTPUT DESCRIPTION - SYSTEM LEVEL

724       The  system  level  information  in text mode consists of the following
725       output lines:
726
727       PRC  Process and thread level totals.
728            This line contains the total CPU  time  consumed  in  system  mode
729            ('sys')  and  in user mode ('user'), the total number of processes
730            present at this moment ('#proc'),  the  total  number  of  threads
731            present at this moment in state 'running' ('#trun'), ´sleeping in‐
732            terruptible' ('#tslpi') and 'sleeping uninterruptible' ('#tslpu'),
733            the  number  of  zombie processes ('#zombie'), the number of clone
734            system calls ('clones'), and the number of  processes  that  ended
735            during the interval ('#exit') when process accounting is used. In‐
736            stead of '#exit' the last column may  indicate  that  process  ac‐
737            counting could not be activated ('no procacct').
738            If  the  screen width does not allow all of these counters, only a
739            relevant subset is shown.
740
741       CPU  CPU utilization.
742            At least one line is shown for the total occupation  of  all  CPUs
743            together.
744            In  case  of a multi-processor system, an additional line is shown
745            for every individual processor (with 'cpu' in lower case),  sorted
746            on  activity.   Inactive  CPUs  will not be shown by default.  The
747            lines showing the per-cpu occupation contain the CPU number in the
748            field combined with the wait percentage.
749
750            Every  line  contains  the  percentage of CPU time spent in kernel
751            mode by all active processes ('sys'), the percentage of  cpu  time
752            consumed in user mode ('user') for all active processes (including
753            processes running with a nice value larger than  zero),  the  per‐
754            centage of CPU time spent for interrupt handling ('irq') including
755            softirq, the percentage of unused CPU time while no processes were
756            waiting  for  disk  I/O ('idle'), and the percentage of unused CPU
757            time while at least one process was waiting for disk I/O ('wait').
758            In case of per-cpu occupation, the CPU number and  the  wait  per‐
759            centage  ('w') for that CPU.  The number of lines showing the per-
760            cpu occupation can be limited.
761
762            For virtual machines, the  steal-percentage  ('steal')  shows  the
763            percentage of CPU time stolen by other virtual machines running on
764            the same hardware.
765            For physical machines hosting one or more  virtual  machines,  the
766            guest-percentage  ('guest')  shows the percentage of CPU time used
767            by the virtual machines.  Notice that this percentage overlaps the
768            user-percentage!
769
770            When  PMC performance monitoring counters are supported by the CPU
771            and the kernel (and pmdaperfevent(1) runs with  root  privileges),
772            the  number  of  instructions per CPU cycle ('ipc') is shown.  The
773            first sample always shows the value 'initial', because  the  coun‐
774            ters are just activated at the moment that pcp-atop is started.
775            When the CPU busy percentage is high and the IPC is less than 1.0,
776            it is likely that the CPU is frequently waiting for memory  access
777            during  instruction  execution (larger CPU caches or faster memory
778            might be helpful to improve performance).  When the CPU busy  per‐
779            centage is high and the IPC is greater than 1.0, it is likely that
780            the CPU is instruction-bound (more/faster cores might  be  helpful
781            to improve performance).
782            Furthermore,  per  CPU  the effective number of cycles ('cycl') is
783            shown.  This value can reach the current CPU frequency if such CPU
784            is 100% busy.  When an idle CPU is halted, the number of effective
785            cycles can be (considerably) lower than the current frequency.
786            Notice that the average instructions per cycle and number  of  cy‐
787            cles is shown in the CPU line for all CPUs.
788            See also: http://www.brendangregg.com/blog/2017-05-09/cpu-utiliza
789            tion-is-wrong.html
790
791            In case of frequency scaling, all previously  mentioned  CPU  per‐
792            centages  are  relative  to the used scaling of the CPU during the
793            interval.  If a CPU has been active for e.g. 50% in user mode dur‐
794            ing  the interval while the frequency scaling of that CPU was 40%,
795            only 20% of the full capacity of the CPU has  been  used  in  user
796            mode.
797            In  case  that  the kernel module 'cpufreq_stats' is active (after
798            issuing 'modprobe cpufreq_stats'), the average frequency  ('avgf')
799            and the average scaling percentage ('avgscal') is shown. Otherwise
800            the current frequency ('curf') and the current scaling  percentage
801            ('curscal')  is shown at the moment that the sample is taken.  No‐
802            tice that average values for frequency and scaling  are  shown  in
803            the CPU line for every CPU.
804            Frequency  scaling  statistics  are only gathered for systems with
805            maximum 8 CPUs, since gathering of these values per  CPU  is  very
806            time consuming.
807
808            If  the  screen-width does not allow all of these counters, only a
809            relevant subset is shown.
810
811       CPL  CPU load information.
812            This line contains the load average figures reflecting the  number
813            of  threads  that  are available to run on a CPU (i.e. part of the
814            runqueue) or that are waiting for disk I/O. These figures are  av‐
815            eraged over 1 ('avg1'), 5 ('avg5') and 15 ('avg15') minutes.
816            Furthermore  the number of context switches ('csw'), the number of
817            serviced interrupts ('intr') and the number of available CPUs  are
818            shown.
819
820            If  the  screen-width does not allow all of these counters, only a
821            relevant subset is shown.
822
823       GPU  GPU utilization (Nvidia).
824            Read the section GPU STATISTICS GATHERING in this document to find
825            the details about the activation of the pmdanvidia daemon.
826
827            In  the  first column of every line, the bus-id (last nine charac‐
828            ters) and the GPU number are shown.  The subsequent  columns  show
829            the  percentage of time that one or more kernels were executing on
830            the GPU ('gpubusy'), the percentage of time that  global  (device)
831            memory  was being read or written ('membusy'), the occupation per‐
832            centage of memory ('memocc'), the total memory ('total'), the mem‐
833            ory being in use at the moment of the sample ('used'), the average
834            memory being in use during the sample time ('usavg'),  the  number
835            of  processes  being active on the GPU at the moment of the sample
836            ('#proc'), and the type of GPU.
837
838            If the screen-width does not allow all of these counters,  only  a
839            relevant subset is shown.
840            The number of lines showing the GPUs can be limited.
841
842       MEM  Memory occupation (two lines).
843            These  lines  contain the total amount of physical memory ('tot'),
844            the amount of memory which is currently free ('free'), the  amount
845            of memory in use as page cache including the total resident shared
846            memory ('cache'), the amount of memory within the page cache  that
847            has to be flushed to disk ('dirty'), the amount of memory used for
848            filesystem meta data ('buff'), the amount of memory being used for
849            kernel  mallocs  ('slab'),  the  amount of slab memory that is re‐
850            claimable ('slrec'), the resident size of shared memory  including
851            tmpfs  ('shmem'), the resident size of shared memory ('shrss') the
852            amount of shared memory that is currently swapped  ('shswp'),  the
853            amount of memory that is currently used for page tables ('pgtab'),
854            the number of NUMA nodes in this system ('numnode'), the amount of
855            memory  that is currently claimed by vmware's balloon driver ('vm‐
856            bal'), the amount of memory that is currently claimed by  the  ARC
857            (cache)  of  ZFSonlinux  ('zfarc'),  the  amount of memory that is
858            claimed for huge pages ('hptot'), the amount of huge  page  memory
859            that is really in use ('hpuse'), the amount of memory that is used
860            for TCP sockets ('tcps'), and the amount of memory  that  is  used
861            for UDP sockets ('udps').
862
863            If  the  screen-width does not allow all of these counters, only a
864            relevant subset is shown.
865
866       SWP  Swap occupation and overcommit info.
867            This line contains the total amount of swap space on disk  ('tot')
868            and  the  amount of free swap space ('free'), the size of the swap
869            cache ('swcac'), the total size of  compressed  storage  in  zswap
870            ('zpool'),  the total size of the compressed pages stored in zswap
871            ('zstor'), the total size of the memory  used  for  KSM  ('ksuse',
872            i.e.  shared), and the total size of the memory saved (deduped) by
873            KSM ('kssav', i.e. sharing).
874            Furthermore the committed virtual memory space ('vmcom')  and  the
875            maximum limit of the committed space ('vmlim', which is by default
876            swap size plus 50% of memory size) is shown.  The committed  space
877            is the reserved virtual space for all allocations of private memo‐
878            ry space for processes.  The kernel only verifies whether the com‐
879            mitted  space  exceeds  the limit if strict overcommit handling is
880            configured (vm.overcommit_memory is 2).
881
882       LLC  Last-Level Cache of CPU info.
883            This line contains the total memory bandwidth of LLC ('tot'),  the
884            bandwidth  of  the  local NUMA node ('loc'), and the percentage of
885            LLC in use ('LLCXX YY%').
886
887            Note that this feature depends on the 'resctrl' pseudo filesystem.
888            Be sure that the kernel is built with the relevant config and take
889            care that the pseudo-filesystem is mounted:
890
891              mount -t resctrl resctrl -o mba_MBps /sys/fs/resctrl (on Intel)
892              mount -t resctrl resctrl -o cdp      /sys/fs/resctrl (on AMD)
893
894       NUM  Memory utilization per NUMA node (not shown for single NUMA node).
895            This line shows the total amount of physical memory of  this  node
896            ('tot'),  the amount of free memory ('free'), the amount of memory
897            for  cached  file  data  ('file'),  modified  cached   file   data
898            ('dirty'), recently used memory ('activ'), less recently used mem‐
899            ory ('inact'), memory being used for kernel mallocs ('slab'),  the
900            amount of slab memory that is reclaimable ('slrec'), shared memory
901            including tmpfs ('shmem'), total  huge  pages  ('hptot')  and  the
902            fragmentation percentage ('frag').
903
904       NUC  CPU utilization per NUMA node (not shown for single NUMA node).
905            This line shows the utilization percentages of all CPUs related to
906            this NUMA node, categorized for  system mode  ('sys'),  user  mode
907            ('user'),  user  mode  for  niced  processes  ('niced'), idle mode
908            ('idle'), wait mode ('w' preceded by the node  number),  irq  mode
909            ('irq'),  softirq  mode  ('sirq'), steal mode ('steal'), and guest
910            mode ('guest') overlapping user mode.
911
912       PAG  Paging frequency.
913            This line contains the number of scanned pages ('scan') due to the
914            fact that free memory drops below a particular threshold, the num‐
915            ber of times that the kernel tries to reclaim pages due to an  ur‐
916            gent  need  ('stall'),  the number of process stalls to run memory
917            compaction to allocate huge pages ('compact'), the number of  NUMA
918            pages  migrated  ('numamig'), and the total number of memory pages
919            migrated successfully e.g. between NUMA nodes  or  for  compaction
920            ('migrate') are shown.
921            Also the number of memory pages the system read from block devices
922            ('pgin'), the number of memory pages the system wrote to block de‐
923            vices  ('pgout'),  the number of memory pages the system read from
924            swap space ('swin'), the number of memory pages the  system  wrote
925            to  swap  space  ('swout'),  and the number of out-of-memory kills
926            ('oomkill').
927
928       PSI  Pressure Stall Information.
929            This line contains percentages about resource pressure related  to
930            CPU,  memory  and I/O. Certain percentages refer to 'some' meaning
931            that some processes/threads were delayed due to resource overload.
932            Other  percentages  refer  to  'full'  meaning  a  loss of overall
933            throughput due to resource overload.
934            The values 'cpusome', 'memsome', 'memfull', 'iosome' and  'iofull'
935            show the pressure percentage during the entire interval.
936            The  values  'cs'  (cpu  some),  'ms'  (memory some), 'mf' (memory
937            full), ´is' (I/O some) and 'if' (I/O full) each  show  three  per‐
938            centages  separated  by slashes: pressure percentage over the last
939            10, 60 and 300 seconds.
940
941       LVM/MDD/DSK
942            Logical volume/multiple device/disk utilization.
943            Per active unit one line is produced,  sorted  on  unit  activity.
944            Such line shows the name (e.g. VolGroup00-lvtmp for a logical vol‐
945            ume or sda for a hard disk), the percentage of elapsed time during
946            which  I/O  requests were issued to the device ('busy') (note that
947            for devices serving requests in parallel, such as RAID arrays, SSD
948            and  NVMe, this number does not reflect their performance limits),
949            the number of read requests issued ('read'), the number  of  write
950            requests  issued  ('write'), the number of discard requests issued
951            ('discrd') if supported by kernel version, the number  of  KiBytes
952            per read ('KiB/r'), the number of KiBytes per write ('KiB/w'), the
953            number of KiBytes per discard ('KiB/d')  if  supported  by  kernel
954            version,  the  number  of  MiBytes per second throughput for reads
955            ('MBr/s'), the number of MiBytes per second throughput for  writes
956            ('MBw/s'),  requests issued to the device driver but not completed
957            ('inflt'), the average queue depth ('avq') and the average  number
958            of milliseconds needed by a request ('avio') for seek, latency and
959            data transfer.
960            If the screen-width does not allow all of these counters,  only  a
961            relevant subset is shown.
962
963            The  number  of  lines  showing the units can be limited per class
964            (LVM, MDD or DSK) with the 'l' key  or  statically  (see  separate
965            man-page  of pcp-atoprc(5)).  By specifying the value 0 for a par‐
966            ticular class, no lines will be shown any more for that class.
967
968       NFM  Network Filesystem (NFS) mount at the client side.
969            For each NFS-mounted filesystem, a line is shown that contains the
970            mounted  server directory, the name of the server ('srv'), the to‐
971            tal number of bytes physically read from the server  ('read')  and
972            the  total  number  of  bytes  physically  written  to  the server
973            ('write').  Data transfer is subdivided in  the  number  of  bytes
974            read via normal read() system calls ('nread'), the number of bytes
975            written via normal read() system calls ('nwrit'),  the  number  of
976            bytes  read  via direct I/O ('dread'), the number of bytes written
977            via direct I/O ('dwrit'), the number  of  bytes  read  via  memory
978            mapped  I/O  pages  ('mread'), and the number of bytes written via
979            memory mapped I/O pages ('mwrit').
980
981       NFC  Network Filesystem (NFS) client side counters.
982            This line contains the number of RPC calls issues  by  local  pro‐
983            cesses  ('rpc'),  the  number of read RPC calls ('read') and write
984            RPC calls ('rpwrite') issued to the NFS server, the number of  RPC
985            calls being retransmitted ('retxmit') and the number of authoriza‐
986            tion refreshes ('autref').
987
988       NFS  Network Filesystem (NFS) server side counters.
989            This line contains the number  of  RPC  calls  received  from  NFS
990            clients  ('rpc'), the number of read RPC calls received ('cread'),
991            the number of write RPC calls received ('cwrit'),  the  number  of
992            Megabytes/second  returned to read requests by clients ('MBcr/s'),
993            the number of Megabytes/second passed in write requests by clients
994            ('MBcw/s'),  the  number  of  network  requests  handled  via  TCP
995            ('nettcp'), the number of network requests handled via  UDP  ('ne‐
996            tudp'),  the  number of reply cache hits ('rchits'), the number of
997            reply cache misses ('rcmiss') and the number of uncached  requests
998            ('rcnoca').  Furthermore some error counters indicating the number
999            of requests with a bad format ('badfmt') or  a  bad  authorization
1000            ('badaut'),  and  a  counter  indicating the number of bad clients
1001            ('badcln').
1002
1003       NET  Network utilization (TCP/IP).
1004            One line is shown for activity of the  transport  layer  (TCP  and
1005            UDP), one line for the IP layer and one line per active interface.
1006            For  the transport layer, counters are shown concerning the number
1007            of  received  TCP  segments  including  those  received  in  error
1008            ('tcpi'),  the  number of transmitted TCP segments excluding those
1009            containing only retransmitted octets ('tcpo'), the number  of  UDP
1010            datagrams received ('udpi'), the number of UDP datagrams transmit‐
1011            ted ('udpo'), the number of active TCP opens ('tcpao'), the number
1012            of  passive TCP opens ('tcppo'), the number of TCP output retrans‐
1013            missions ('tcprs'), the number of TCP input errors ('tcpie'),  the
1014            number  of TCP output resets ('tcpor'), the number of UDP no ports
1015            ('udpnp'), and the number of UDP input errors ('udpie').
1016            If the screen-width does not allow all of these counters,  only  a
1017            relevant subset is shown.
1018            These counters are related to IPv4 and IPv6 combined.
1019
1020            For  the  IP layer, counters are shown concerning the number of IP
1021            datagrams received from interfaces, including  those  received  in
1022            error  ('ipi'), the number of IP datagrams that local higher-layer
1023            protocols offered for transmission ('ipo'), the number of received
1024            IP  datagrams  which were forwarded to other interfaces ('ipfrw'),
1025            the number of IP datagrams which were delivered to  local  higher-
1026            layer  protocols  ('deliv'), the number of received ICMP datagrams
1027            ('icmpi'), and the number of transmitted ICMP datagrams ('icmpo').
1028            If the screen-width does not allow all of these counters,  only  a
1029            relevant subset is shown.
1030            These counters are related to IPv4 and IPv6 combined.
1031
1032            For  every  active  network interface one line is shown, sorted on
1033            the interface activity.  Such line shows the name of the interface
1034            and  its busy percentage in the first column.  The busy percentage
1035            for half duplex is determined by  comparing  the  interface  speed
1036            with  the  number of bits transmitted and received per second; for
1037            full duplex the interface speed is compared with  the  highest  of
1038            either  the  transmitted or the received bits.  When the interface
1039            speed can not be determined (e.g.  for  the  loopback  interface),
1040            '---' is shown instead of the percentage.
1041            Furthermore the number of received packets ('pcki'), the number of
1042            transmitted packets ('pcko'), the  line  speed  of  the  interface
1043            ('sp'),  the  effective amount of bits received per second ('si'),
1044            the effective amount of bits transmitted per  second  ('so'),  the
1045            number  of  collisions  ('coll'), the number of received multicast
1046            packets ('mlti'), the number of errors while  receiving  a  packet
1047            ('erri'),  the  number of errors while transmitting a packet ('er‐
1048            ro'), the number of received packets  dropped  ('drpi'),  and  the
1049            number of transmitted packets dropped ('drpo').
1050            If  the  screen-width does not allow all of these counters, only a
1051            relevant subset is shown.
1052            The number of lines showing the network interfaces can be limited.
1053
1054       IFB  Infiniband utilization.
1055            For every active Infiniband port one line is shown, sorted on  ac‐
1056            tivity.   Such  line  shows the name of the port and its busy per‐
1057            centage in the first column.  The busy percentage is determined by
1058            taking  the highest of either the transmitted or the received bits
1059            during the interval, multiplying that value by the number of lanes
1060            and comparing it against the maximum port speed.
1061            Furthermore  the  number of received packets divided by the number
1062            of lanes ('pcki'), the number of transmitted  packets  divided  by
1063            the  number  of lanes ('pcko'), the maximum line speed ('sp'), the
1064            effective amount of bits received per second ('si'), the effective
1065            amount  of  bits  transmitted per second ('so'), and the number of
1066            lanes ('lanes').
1067            If the screen-width does not allow all of these counters,  only  a
1068            relevant subset is shown.
1069            The number of lines showing the Infiniband ports can be limited.
1070

OUTPUT DESCRIPTION - PROCESS LEVEL

1072       Following the system level information, a list of processes is shown in
1073       text mode from which the resource utilization has  changed  during  the
1074       last interval.  These processes might have used CPU time or issued disk
1075       or network requests.  However a process is also shown if part of it has
1076       been  paged  out due to lack of memory (while the process itself was in
1077       sleep state).
1078
1079       Per process the following fields may be shown (in alphabetical  order),
1080       depending on the current output mode as described in the section INTER‐
1081       ACTIVE COMMANDS and depending on the current width of your window:
1082
1083       AVGRSZ   The average size of one read-action on disk.
1084
1085       AVGWSZ   The average size of one write-action on disk.
1086
1087       BANDWI   Total bandwidth for received TCP and UDP packets  consumed  by
1088                this  process  (bits-per-second).   This value can be compared
1089                with the value 'si' on interface level (used bandwidth per in‐
1090                terface).
1091                This information will only be shown when the pmdabcc(1) module
1092                'netproc' has been installed.
1093
1094       BANDWO   Total bandwidth for sent TCP and UDP packets consumed by  this
1095                process  (bits-per-second).   This  value can be compared with
1096                the value 'so' on interface level (used bandwidth  per  inter‐
1097                face).
1098                This information will only be shown when the pmdabcc(1) module
1099                'netproc' has been installed.
1100
1101       BDELAY   Aggregated block I/O delay, i.e. time waiting for disk I/O.
1102
1103       CGROUP   Path name of the cgroup (version 2) to which this process  be‐
1104                longs.  This path name is relative to the cgroup root directo‐
1105                ry, which is usually '/sys/fs/cgroup'.
1106
1107       CID      Container ID of 12 hexadecimal digits, referring to  the  con‐
1108                tainer  in  which the process/thread is running.  If a process
1109                has been started and finished during the last interval, a  '?'
1110                is  shown because the container ID is not part of the standard
1111                process accounting record.
1112
1113       CMD      The name of the process.   This  name  can  be  surrounded  by
1114                "less/greater  than"  signs  ('<name>')  which  means that the
1115                process has finished during the last interval.
1116                Behind the abbreviation 'CMD' in the header line, the  current
1117                page   number   and   the   total   number  of  pages  of  the
1118                process/thread list are shown.
1119
1120       COMMAND-LINE
1121                The full command line of the process (including arguments). If
1122                the  length  of  the  command  line  exceeds the length of the
1123                screen line, the arrow keys -> and <- can be used for horizon‐
1124                tal scroll.
1125                Behind the verb 'COMMAND-LINE' in the header line, the current
1126                page  number  and  the  total   number   of   pages   of   the
1127                process/thread list are shown.
1128
1129       CPU      The  occupation  percentage  of  this  process  related to the
1130                available capacity for this resource on system level.
1131
1132       CPUNR    The identification of the CPU the (main) thread is running  on
1133                or has recently been running on.
1134
1135       CTID     Container ID (OpenVZ).  If a process has been started and fin‐
1136                ished during the last interval, a '?'  is  shown  because  the
1137                container  ID  is  not part of the standard process accounting
1138                record.
1139
1140       DSK      The occupation percentage of this process related to the total
1141                load  that  is  produced by all processes (i.e. total disk ac‐
1142                cesses by all processes during the last interval).
1143                This information is shown when per process  "storage  account‐
1144                ing" is active in the kernel.
1145
1146       EGID     Effective group-id under which this process executes.
1147
1148       ENDATE   Date  that  the  process has been finished.  If the process is
1149                still running, this field shows 'active'.
1150
1151       ENTIME   Time that the process has been finished.  If  the  process  is
1152                still running, this field shows 'active'.
1153
1154       ENVID    Virtual environment identified (OpenVZ only).
1155
1156       EUID     Effective user-id under which this process executes.
1157
1158       EXC      The exit code of a terminated process (second position of col‐
1159                umn 'ST' is E) or the fatal signal number (second position  of
1160                column 'ST' is S or C).
1161
1162       FSGID    Filesystem group-id under which this process executes.
1163
1164       FSUID    Filesystem user-id under which this process executes.
1165
1166       GPU      When  the pmdanvidia daemon does not run with root privileges,
1167                the GPU percentage reflects the GPU memory occupation percent‐
1168                age (memory of all GPUs is 100%).
1169                When  the pmdanvidia daemon runs with root privileges, the GPU
1170                percentage reflects the GPU busy percentage.
1171
1172       GPUBUSY  Busy percentage on all GPUs (one GPU is 100%).
1173                When the pmdanvidia daemon does not run with root  privileges,
1174                this value is not available.
1175
1176       GPUNUMS  Comma-separated  list  of  GPUs used by the process during the
1177                interval.  When the comma-separated list exceeds the width  of
1178                the column, a hexadecimal value is shown.
1179
1180       LOCKSZ   The virtual amount of memory being locked (i.e. non-swappable)
1181                by this process (or user).
1182
1183       MAJFLT   The number of page faults issued by  this  process  that  have
1184                been solved by creating/loading the requested memory page.
1185
1186       MEM      The  occupation  percentage  of  this  process  related to the
1187                available capacity for this resource on system level.
1188
1189       MEMAVG   Average memory occupation during  the  interval  on  all  used
1190                GPUs.
1191
1192       MEMBUSY  Busy  percentage of memory on all GPUs (one GPU is 100%), i.e.
1193                the time needed for read and write accesses on memory.
1194                When the pmdanvidia daemon does not run with root  privileges,
1195                this value is not available.
1196
1197       MEMNOW   Memory  occupation  at  the  moment  of the sample on all used
1198                GPUs.
1199
1200       MINFLT   The number of page faults issued by  this  process  that  have
1201                been  solved  by reclaiming the requested memory page from the
1202                free list of pages.
1203
1204       NET      The occupation percentage of this process related to the total
1205                load  that is produced by all processes (i.e. consumed network
1206                bandwidth of all processes during the last interval).
1207                This information will only be shown when the pmdabcc(1) module
1208                'netproc' has been installed.
1209
1210       NICE     The  more  or  less  static  priority  that  can be given to a
1211                process on a scale from -20 (high priority) to +19 (low prior‐
1212                ity).
1213
1214       NIVCSW   Number of times the process/thread was context-switched invol‐
1215                untarily, in case that the time slice expired.
1216
1217       NPROCS   The number of active and terminated processes accumulated  for
1218                this user or program.
1219
1220       NVCSW    Number  of  times that the process/thread was context-switched
1221                voluntarily in case of a blocking system call,  e.g.  to  wait
1222                for an I/O operation to complete.
1223
1224       PID      Process-id.
1225
1226       POLI     The  policies  'norm'  (normal,  which is SCHED_OTHER), 'btch'
1227                (batch) and 'idle' refer to timesharing processes.  The  poli‐
1228                cies  'fifo'  (SCHED_FIFO)  and  'rr'  (round  robin, which is
1229                SCHED_RR) refer to realtime processes.
1230
1231       PPID     Parent process-id.
1232
1233       PRI      The process' priority ranges from 0 (highest priority) to  139
1234                (lowest  priority).   Priority  0  to 99 are used for realtime
1235                processes (fixed priority independent of their  behavior)  and
1236                priority 100 to 139 for timesharing processes (variable prior‐
1237                ity depending on their recent CPU  consumption  and  the  nice
1238                value).
1239
1240       PSIZE    The proportional memory size of this process (or user).
1241                Every  process  shares  resident  memory with other processes.
1242                E.g. when a particular program is started several  times,  the
1243                code pages (text) are only loaded once in memory and shared by
1244                all incarnations.  Also the code of shared libraries is shared
1245                by  all processes using that shared library, as well as shared
1246                memory and memory-mapped files.  For the PSIZE calculation  of
1247                a  process,  the  resident  memory of a process that is shared
1248                with other processes is divided  by  the  number  of  sharers.
1249                This means, that every process is accounted for a proportional
1250                part of that memory.  Accumulating the  PSIZE  values  of  all
1251                processes in the system gives a reliable impression of the to‐
1252                tal resident memory consumed by all processes.
1253                Since gathering of all values that are needed to calculate the
1254                PSIZE  is  a  very  time-consuming  task, the 'R' key (or '-R'
1255                flag) should be active.  Gathering these values also  requires
1256                superuser privileges (otherwise '?K' is shown in the output).
1257
1258       RDDSK    The  read  data transfer issued physically on disk (so reading
1259                from the disk cache is not accounted for).
1260                Unfortunately, the kernel aggregates the data  transfer  of  a
1261                process to the data transfer of its parent process when termi‐
1262                nating, so you might see transfers for (parent) processes like
1263                cron, bash or init, that are not really issued by them.
1264
1265       RDELAY   Runqueue delay, i.e. time spent waiting on a runqueue.
1266
1267       RGID     The real group-id under which the process executes.
1268
1269       RGROW    The  amount of resident memory that the process has grown dur‐
1270                ing the last interval.  A resident growth  can  be  caused  by
1271                touching memory pages which were not physically created/loaded
1272                before (load-on-demand).  Note that a resident growth can also
1273                be  negative e.g. when part of the process is paged out due to
1274                lack of memory or when the process frees dynamically allocated
1275                memory.  For a process which started during the last interval,
1276                the resident growth reflects the total resident  size  of  the
1277                process at that moment.
1278
1279       RSIZE    The  total  resident memory usage consumed by this process (or
1280                user).  Notice that the RSIZE of a process includes all  resi‐
1281                dent memory used by that process, even if certain memory parts
1282                are shared with other processes (see also the  explanation  of
1283                PSIZE).
1284
1285       RTPR     Realtime  priority according the POSIX standard.  Value can be
1286                0 for a timesharing process (policy 'norm', 'btch' or  'idle')
1287                or  ranges  from  1  (lowest) till 99 (highest) for a realtime
1288                process (policy 'rr' or 'fifo').
1289
1290       RUID     The real user-id under which the process executes.
1291
1292       S        The current state of the (main) thread: 'R' for running  (cur‐
1293                rently processing or in the runqueue), 'S' for sleeping inter‐
1294                ruptible (wait for an event to occur), 'D' for  sleeping  non-
1295                interruptible, 'Z' for zombie (waiting to be synchronized with
1296                its parent process), 'T' for stopped  (suspended  or  traced),
1297                'W' for swapping, and 'E' (exit) for processes which have fin‐
1298                ished during the last interval.
1299
1300       SGID     The saved group-id of the process.
1301
1302       ST       The status of a process.
1303                The first position indicates if the process has  been  started
1304                during the last interval (the value N means 'new process').
1305
1306                The second position indicates if the process has been finished
1307                during the last interval.
1308                The value E means 'exit' on the process' own  initiative;  the
1309                exit code is displayed in the column 'EXC'.
1310                The  value S means that the process has been terminated unvol‐
1311                untarily by a signal; the signal number is displayed in the in
1312                the column 'EXC'.
1313                The  value C means that the process has been terminated unvol‐
1314                untarily by a signal, producing a core dump in its current di‐
1315                rectory; the signal number is displayed in the column 'EXC'.
1316
1317       STDATE   The start date of the process.
1318
1319       STTIME   The start time of the process.
1320
1321       SUID     The saved user-id of the process.
1322
1323       SWAPSZ   The swap space consumed by this process (or user).
1324
1325       SYSCPU   CPU  time  consumption  of this process in system mode (kernel
1326                mode), usually due to system call handling.
1327
1328       TCPRASZ  The average size of a received TCP buffer in bytes.  This  in‐
1329                formation  will  only be shown when the BCC PMDA is active and
1330                the 'netproc' module is enabled.
1331
1332       TCPRCV   The number of tcp_recvmsg()/tcp_cleanup_rbuf() calls from this
1333                process.  This information will only be shown when the BCC PM‐
1334                DA is active and the 'netproc' module is enabled.
1335
1336       TCPSASZ  The average size of a TCP buffer requested to  be  transmitted
1337                in  bytes.   This  information will only be shown when the BCC
1338                PMDA is active and the 'netproc' module is enabled.
1339
1340       TCPSND   The number of tcp_sendmsg() calls from this process.  This in‐
1341                formation  will  only be shown when the BCC PMDA is active and
1342                the 'netproc' module is enabled.
1343
1344       THR      Total number of threads  within  this  process.   All  related
1345                threads  are  contained in a thread group, represented by pcp-
1346                atop as one line or as a separate line when the 'y' key (or -y
1347                flag) is active.
1348
1349       TID      Thread-id.  All threads within a process run with the same PID
1350                but with a different TID.  This value is shown for  individual
1351                threads in multi-threaded processes (when using the key 'y').
1352
1353       TRUN     Number  of  threads  within this process that are in the state
1354                'running' (R).
1355
1356       TSLPI    Number of threads within this process that are  in  the  state
1357                'interruptible sleeping' (S).
1358
1359       TSLPU    Number  of  threads  within this process that are in the state
1360                'uninterruptible sleeping' (D).
1361
1362       UDPRASZ  The average size of a received UDP buffer in bytes.  This  in‐
1363                formation  will  only be shown when the BCC PMDA is active and
1364                the 'netproc' module is enabled.
1365
1366       UDPRCV   The number of udp_recvmsg()/skb_consume_udp() calls from  this
1367                process.  This information will only be shown when the BCC PM‐
1368                DA is active and the 'netproc' module is enabled.
1369
1370       UDPSASZ  The average size of a UDP buffer requested to  be  transmitted
1371                in  bytes.   This  information will only be shown when the BCC
1372                PMDA is active and the 'netproc' module is enabled.
1373
1374       UDPSND   The number of udp_sendmsg() calls from this process.  This in‐
1375                formation  will  only be shown when the BCC PMDA is active and
1376                the 'netproc' module is enabled.
1377
1378       USRCPU   CPU time consumption of this process in user mode, due to pro‐
1379                cessing the own program text.
1380
1381       VDATA    The  virtual  memory  size  of  the  private data used by this
1382                process (including heap and shared library data).
1383
1384       VGROW    The amount of virtual memory that the process has grown during
1385                the  last interval. A virtual growth can be caused by e.g. is‐
1386                suing a malloc() or attaching a shared  memory  segment.  Note
1387                that  a  virtual growth can also be negative by e.g. issuing a
1388                free() or detaching a shared memory segment.   For  a  process
1389                which started during the last interval, the virtual growth re‐
1390                flects the total virtual size of the process at that moment.
1391
1392       VPID     Virtual process-id (within an OpenVZ container).  If a process
1393                has  been started and finished during the last interval, a '?'
1394                is shown because the virtual process-id is  not  part  of  the
1395                standard process accounting record.
1396
1397       VSIZE    The  total  virtual  memory usage consumed by this process (or
1398                user).
1399
1400       VSLIBS   The virtual memory size of the (shared) text of all shared li‐
1401                braries used by this process.
1402
1403       VSTACK   The  virtual  memory  size of the (private) stack used by this
1404                process
1405
1406       VSTEXT   The virtual memory size of the (shared) text of the executable
1407                program.
1408
1409       WCHAN    Wait  channel  of  thread in sleep state, i.e. the name of the
1410                kernel function in which the thread has been put asleep.
1411                Since determining the name string of the kernel function is  a
1412                relatively  time-consuming  task,  the  'W' key (or '-W' flag)
1413                should be active.
1414
1415       WRDSK    The write data transfer issued physically on disk (so  writing
1416                to  the  disk  cache  is  not accounted for).  This counter is
1417                maintained for the application process that writes its data to
1418                the  cache  (assuming that this data is physically transferred
1419                to disk later on).  Notice that disk I/O needed  for  swapping
1420                is not taken into account.
1421                Unfortunately,  the  kernel  aggregates the data transfer of a
1422                process to the data transfer of its parent process when termi‐
1423                nating, so you might see transfers for (parent) processes like
1424                cron, bash or init, that are not really issued by them.
1425
1426       WCANCL   The write data transfer previously accounted for this  process
1427                or  another  process  that has been cancelled.  Suppose that a
1428                process writes new data to a file and  that  data  is  removed
1429                again  before  the  cache  buffers  have been flushed to disk.
1430                Then the original process shows the  written  data  as  WRDSK,
1431                while  the  process  that removes/truncates the file shows the
1432                unflushed removed data as WCANCL.
1433

PARSABLE OUTPUT

1435       With the flag -P followed by a list of one or more labels  (comma-sepa‐
1436       rated),  parsable  output is produced for each sample.  The labels that
1437       can be specified for system-level statistics correspond to  the  labels
1438       (first  verb of each line) that can be found in the interactive output:
1439       "CPU", "cpu", "CPL", "GPU", "MEM", "SWP", "PAG", "PSI",  "LVM",  "MDD",
1440       "DSK", "NFM", "NFC", "NFS", "NET", "IFB", "LLC", "NUM" and "NUC".
1441       For process-level statistics special labels are introduced: "PRG" (gen‐
1442       eral), "PRC" (CPU), "PRE" (GPU), "PRM" (memory), "PRD" (disk,  only  if
1443       "storage accounting" is active).
1444       With  the  label  "ALL",  all  system  and process level statistics are
1445       shown.
1446
1447       The command and command line in the parsable output might contain  spa‐
1448       ces  and  are  therefore by default surrounded by parenthesis. However,
1449       since a space is often used as separator between the fields by  parsing
1450       tools,  with the additional flag -Z it is possible to exchange the spa‐
1451       ces in the command (line) by underscores and omit the parenthesis.
1452
1453       For every interval all requested lines are  shown  whereafter  pcp-atop
1454       shows  a line just containing the label "SEP" as a separator before the
1455       lines for the next sample are generated.
1456       When a sample contains the values since boot,  pcp-atop  shows  a  line
1457       just  containing the label "RESET" before the lines for this sample are
1458       generated.
1459
1460       The first part of  each  output-line  consists  of  the  following  six
1461       fields: label (the name of the label), host (the name of this machine),
1462       epoch (the time of this interval as number of seconds since  1-1-1970),
1463       date  (date  of this interval in format YYYY/MM/DD), time (time of this
1464       interval in format HH:MM:SS), and interval (number of  seconds  elapsed
1465       for this interval).
1466
1467       The subsequent fields of each output-line depend on the label:
1468
1469       CPU      Subsequent  fields: total number of clock-ticks per second for
1470                this machine, number of processors, consumption for  all  CPUs
1471                in system mode (clock-ticks), consumption for all CPUs in user
1472                mode (clock-ticks), consumption for all CPUs in user mode  for
1473                niced  processes  (clock-ticks),  consumption  for all CPUs in
1474                idle mode (clock-ticks), consumption for all CPUs in wait mode
1475                (clock-ticks),  consumption  for  all CPUs in irq mode (clock-
1476                ticks), consumption for  all  CPUs  in  softirq  mode  (clock-
1477                ticks),  consumption for all CPUs in steal mode (clock-ticks),
1478                consumption for all CPUs in guest mode (clock-ticks)  overlap‐
1479                ping user mode, frequency of all CPUs and frequency percentage
1480                of all CPUs.
1481
1482       cpu      Subsequent fields: total number of clock-ticks per second  for
1483                this  machine,  processor-number,  consumption for this CPU in
1484                system mode (clock-ticks), consumption for this  CPU  in  user
1485                mode  (clock-ticks), consumption for this CPU in user mode for
1486                niced processes (clock-ticks), consumption  for  this  CPU  in
1487                idle mode (clock-ticks), consumption for this CPU in wait mode
1488                (clock-ticks), consumption for this CPU in  irq  mode  (clock-
1489                ticks),  consumption  for  this  CPU  in  softirq mode (clock-
1490                ticks), consumption for this CPU in steal mode  (clock-ticks),
1491                consumption  for this CPU in guest mode (clock-ticks) overlap‐
1492                ping user mode, frequency of all CPUs, frequency percentage of
1493                all CPUs, instructions executed by all CPUs and cycles for all
1494                CPUs.
1495
1496       CPL      Subsequent fields: number of processors, load average for last
1497                minute,  load  average for last five minutes, load average for
1498                last fifteen minutes, number of context-switches,  and  number
1499                of device interrupts.
1500
1501       GPU      Subsequent  fields:  GPU  number,  bus-id  string, type of GPU
1502                string, GPU busy percentage during  last  second  (-1  if  not
1503                available),  memory  busy percentage during last second (-1 if
1504                not available), total memory size (KiB), used memory (KiB)  at
1505                this  moment, number of samples taken during interval, cumula‐
1506                tive GPU busy percentage during the interval (to be divided by
1507                the  number  of samples for the average busy percentage, -1 if
1508                not available), cumulative memory busy percentage  during  the
1509                interval (to be divided by the number of samples for the aver‐
1510                age busy percentage, -1 if not available), and cumulative mem‐
1511                ory  occupation during the interval (to be divided by the num‐
1512                ber of samples for the average occupation).
1513
1514       MEM      Subsequent fields: page size for this machine (in bytes), size
1515                of  physical memory (pages), size of free memory (pages), size
1516                of page cache (pages), size of buffer cache (pages),  size  of
1517                slab  (pages),  dirty pages in cache (pages), reclaimable part
1518                of slab (pages), total size of vmware's balloon pages (pages),
1519                total  size  of shared memory (pages), size of resident shared
1520                memory (pages), size of swapped shared  memory  (pages),  huge
1521                page  size  (in bytes), total size of huge pages (huge pages),
1522                size of free huge pages (huge pages), size of ARC  (cache)  of
1523                ZFSonlinux  (pages),  size  of  sharing pages for KSM (pages),
1524                size of shared pages for KSM (pages), size of memory used  for
1525                TCP  sockets  (pages),  size  of  memory  used for UDP sockets
1526                (pages), and size of pagetables (pages).
1527
1528       SWP      Subsequent fields: page size for this machine (in bytes), size
1529                of swap (pages), size of free swap (pages), size of swap cache
1530                (pages), size of committed space (pages), limit for  committed
1531                space  (pages),  size  of the swap cache (pages), size of com‐
1532                pressed pages stored in zswap (pages), and total size of  com‐
1533                pressed pool in zswap (pages).
1534
1535       LLC      Subsequent  fields:  LLC  id,  percentage of LLC in use, total
1536                memory bandwidth of this LLC (in bytes), and memory  bandwidth
1537                on local NUMA node of this LLC (in bytes).
1538
1539       PAG      Subsequent fields: page size for this machine (in bytes), num‐
1540                ber of page scans, number of allocstalls, 0 (future use), num‐
1541                ber  of  swapins,  number  of swapouts, number of oomkills (-1
1542                when counter not present), number of  process  stalls  to  run
1543                memory  compaction,  number  of pages successfully migrated in
1544                total, number of NUMA pages migrated,  number  of  pages  read
1545                from  block  devices, and number of pages written to block de‐
1546                vices.
1547
1548       PSI      Subsequent fields: PSI statistics present on this system (n or
1549                y),  CPU some avg10, CPU some avg60, CPU some avg300, CPU some
1550                accumulated microseconds during interval, memory  some  avg10,
1551                memory some avg60, memory some avg300, memory some accumulated
1552                microseconds during interval, memory full avg10,  memory  full
1553                avg60,  memory  full avg300, memory full accumulated microsec‐
1554                onds during interval, I/O some avg10, I/O some avg60, I/O some
1555                avg300, I/O some accumulated microseconds during interval, I/O
1556                full avg10, I/O full avg60, I/O full avg300, and I/O full  ac‐
1557                cumulated microseconds during interval.
1558
1559       LVM/MDD/DSK
1560                For every logical volume/multiple device/hard disk one line is
1561                shown.
1562                Subsequent fields: name, number of milliseconds spent for I/O,
1563                number  of  reads  issued,  number  of sectors transferred for
1564                reads, number of writes issued, number of sectors  transferred
1565                for  write,  number  of discards issued (-1 if not supported),
1566                number of sectors transferred for discards, number of requests
1567                currently in flight (not yet completed), and the average queue
1568                depth while the disk was busy.
1569
1570       NFM      Subsequent fields: mounted NFS  filesystem,  total  number  of
1571                bytes  read,  total  number  of bytes written, number of bytes
1572                read by normal system calls, number of bytes written by normal
1573                system  calls,  number  of bytes read by direct I/O, number of
1574                bytes written by direct I/O, number of pages read  by  memory-
1575                mapped I/O, and number of pages written by memory-mapped I/O.
1576
1577       NFC      Subsequent  fields:  number  of  transmitted  RPCs,  number of
1578                transmitted read RPCs, number of transmitted write RPCs,  num‐
1579                ber  of  RPC  retransmissions, and number of authorization re‐
1580                freshes.
1581
1582       NFS      Subsequent fields: number of handled RPCs, number of  received
1583                read RPCs, number of received write RPCs, number of bytes read
1584                by clients, number of bytes written by clients, number of RPCs
1585                with bad format, number of RPCs with bad authorization, number
1586                of RPCs from bad client, total number of handled  network  re‐
1587                quests,  number of handled network requests via TCP, number of
1588                handled network requests via UDP, number of handled  TCP  con‐
1589                nections,  number  of hits on reply cache, number of misses on
1590                reply cache, and number of uncached requests.
1591
1592       NET      First, one line is produced for the upper layers of the TCP/IP
1593                stack.
1594                Subsequent  fields:  the  verb  "upper", number of packets re‐
1595                ceived by TCP, number of packets transmitted by TCP, number of
1596                packets received by UDP, number of packets transmitted by UDP,
1597                number of packets received by IP, number of packets  transmit‐
1598                ted by IP, number of packets delivered to higher layers by IP,
1599                number of packets forwarded by  IP,  number  of  input  errors
1600                (UDP),  number  of noport errors (UDP), number of active opens
1601                (TCP), number of passive opens (TCP), number of passive  opens
1602                (TCP), number of established connections at this moment (TCP),
1603                number of retransmitted segments (TCP), number of input errors
1604                (TCP), and number of output resets (TCP).
1605
1606                Next, one line is shown for every interface.
1607                Subsequent  fields:  name  of the interface, number of packets
1608                received by the interface, number of bytes received by the in‐
1609                terface,  number of packets transmitted by the interface, num‐
1610                ber of bytes transmitted by the  interface,  interface  speed,
1611                and duplex mode (0=half, 1=full).
1612
1613       IFB      Subsequent fields: name of the InfiniBand interface, port num‐
1614                ber, number of lanes, maximum rate (Mbps), number of bytes re‐
1615                ceived,  number  of  bytes  transmitted, number of packets re‐
1616                ceived, and number of packets transmitted.
1617
1618       NUM      Subsequent fields: NUMA node number, page size  for  this  ma‐
1619                chine  (in  bytes), the fragmentation percentage of this node,
1620                size of physical memory (pages), size of free memory  (pages),
1621                recently  (active)  used  memory (pages), less recently (inac‐
1622                tive) used memory (pages), size of cached file  data  (pages),
1623                dirty  pages in cache (pages), slab memory being used for ker‐
1624                nel mallocs (pages), slab memory that is reclaimable  (pages),
1625                shared  memory  including  tmpfs (pages), and total huge pages
1626                (pages).
1627
1628       NUC      Subsequent fields: NUMA node number, number of processors  for
1629                this  node,  consumption  for node CPUs in system mode (clock-
1630                ticks), consumption for node CPUs in user mode  (clock-ticks),
1631                consumption  for  node  CPUs  in user mode for niced processes
1632                (clock-ticks), consumption for node CPUs in idle mode  (clock-
1633                ticks),  consumption for node CPUs in wait mode (clock-ticks),
1634                consumption for node CPUs in irq mode (clock-ticks),  consump‐
1635                tion  for node CPUs in softirq mode (clock-ticks), consumption
1636                for node CPUs in steal mode (clock-ticks), and consumption for
1637                node CPUs in guest mode (clock-ticks) overlapping user mode.
1638
1639       PRG      For every process one line is shown.
1640                Subsequent  fields:  PID  (unique  ID  of task), name (between
1641                parenthesis or underscores for spaces), state, real uid,  real
1642                gid,  TGID (group number of related tasks/threads), total num‐
1643                ber of threads, exit code (in case  of  fatal  signal:  signal
1644                number  + 256), start time (epoch), full command line (between
1645                parenthesis  or  underscores  for  spaces),  PPID,  number  of
1646                threads  in  state  'running'  (R), number of threads in state
1647                'interruptible sleeping' (S), number of threads in state  'un‐
1648                interruptible  sleeping'  (D),  effective  uid, effective gid,
1649                saved uid, saved gid, filesystem uid, filesystem gid,  elapsed
1650                time  of  terminated process (hertz), is_process (y/n), OpenVZ
1651                virtual pid (VPID), OpenVZ container id (CTID),  Container  id
1652                (CID), indication if the task is newly started during this in‐
1653                terval ('N'), cgroup v2 path name (between parenthesis or  un‐
1654                derscores  for spaces), and end time (epoch. or 0 if still ac‐
1655                tive).
1656
1657       PRC      For every process one line is shown.
1658                Subsequent fields: PID, name (between  parenthesis  or  under‐
1659                scores  for  spaces),  state,  total number of clock-ticks per
1660                second for this machine, CPU-consumption in user mode  (clock‐
1661                ticks), CPU-consumption in system mode (clockticks), nice val‐
1662                ue, priority, realtime priority,  scheduling  policy,  current
1663                CPU,   sleep   average,   TGID   (group   number   of  related
1664                tasks/threads), is_process (y/n), runqueue delay  in  nanosec‐
1665                onds  for this thread or for all threads (in case of process),
1666                wait channel of this thread  (between  parenthesis  or  under‐
1667                scores  for  spaces),  block I/O delay (clockticks), number of
1668                voluntary context switches, and number of involunatary context
1669                switches.
1670
1671       PRE      For every process one line is shown.
1672                Subsequent  fields:  PID,  name (between parenthesis or under‐
1673                scores for spaces), process state, GPU state (A for active,  E
1674                for  exited,  N  for no GPU user), number of GPUs used by this
1675                process, bitlist reflecting used  GPUs,  GPU  busy  percentage
1676                during interval, memory busy percentage during interval, memo‐
1677                ry occupation (KiB) at this moment cumulative  memory  occupa‐
1678                tion (KiB) during interval, and number of samples taken during
1679                interval.
1680
1681       PRM      For every process one line is shown.
1682                Subsequent fields: PID, name (between  parenthesis  or  under‐
1683                scores  for  spaces),  state,  page  size for this machine (in
1684                bytes), virtual memory size  (Kbytes),  resident  memory  size
1685                (Kbytes),  shared  text  memory  size (Kbytes), virtual memory
1686                growth (Kbytes), resident memory growth  (Kbytes),  number  of
1687                minor  page  faults,  number of major page faults, virtual li‐
1688                brary exec size (Kbytes), virtual data size (Kbytes),  virtual
1689                stack  size  (Kbytes),  swap  space used (Kbytes), TGID (group
1690                number of related tasks/threads),  is_process  (y/n),  propor‐
1691                tional  set  size  (Kbytes)  if in 'R' option is specified and
1692                virtually locked memory space (Kbytes).
1693
1694       PRD      For every process one line is shown.
1695                Subsequent fields: PID, name (between  parenthesis  or  under‐
1696                scores  for  spaces),  state, obsoleted kernel patch installed
1697                ('n'), standard io statistics used ('y'  or  'n'),  number  of
1698                reads  on  disk,  cumulative number of sectors read, number of
1699                writes on disk, cumulative number  of  sectors  written,  can‐
1700                celled number of written sectors, TGID (group number of relat‐
1701                ed  tasks/threads),  obsoleted  value  ('n'),  and  is_process
1702                (y/n).
1703
1704       PRN      For every process one line is shown.
1705                Subsequent  fields:  PID,  name (between parenthesis or under‐
1706                scores for spaces), state, pmdabcc(1) module 'netproc'  loaded
1707                ('y'  or  'n'), number of tcp_sendmsg() calls, cumulative size
1708                of  TCP  buffers  requested  to  be  transmitted,  number   of
1709                tcp_recvmsg()/tcp_cleanup_rbuf() calls, cumulative size of TCP
1710                buffers received, number of  udp_sendmsg()  calls,  cumulative
1711                size  of  UDP  buffers  requested to be transmitted, number of
1712                udp_recvmsg()/skb_consume_udp() calls, cumulative size of  UDP
1713                buffers  transmitted, number of raw packets transmitted (obso‐
1714                lete, always 0), number of raw packets received (obsolete, al‐
1715                ways  0),  TGID  (group  number  of related tasks/threads) and
1716                is_process (y/n).
1717

SIGNALS

1719       By sending the SIGUSR1 signal to pcp-atop a new sample will be  forced,
1720       even  if the current timer interval has not exceeded yet.  The behavior
1721       is similar to pressing the 't' key in an interactive session.
1722
1723       By sending the SIGUSR2 signal to pcp-atop a final sample will be forced
1724       after which pcp-atop will terminate.
1725

EXAMPLES

1727       To  monitor  the  current system load interactively with an interval of
1728       (default) 10 seconds:
1729
1730         pcp atop
1731
1732       To monitor the system load as bar graphs with an interval of 5 seconds:
1733
1734         pcp atop -B 5
1735
1736       Store information about the system and process activity in  a  PCP  ar‐
1737       chive folio with an interval of ten minutes during an hour:
1738
1739         pcp atop -w /tmp/pcp-atop 600 6
1740
1741       View the contents of this file interactively:
1742
1743         pcp atop -r /tmp/pcp-atop
1744
1745       View  the  processor and disk utilization of this file in parsable for‐
1746       mat:
1747
1748         pcp atop -PCPU,DSK -r /tmp/pcp-atop.folio
1749
1750       View the contents of today's standard logfile interactively:
1751
1752         pcp atop -r
1753
1754       View the contents of the standard logfile of the day  before  yesterday
1755       interactively:
1756
1757         pcp atop -r yy
1758
1759       View the contents of the standard logfile of 2023, June 7 from 02:00 PM
1760       onwards interactively:
1761
1762         pcp atop -r 20230607 -b 14:00
1763
1764       To monitor the system load and write it to a file (in plain ASCII) with
1765       an  interval  of  one  minute during half an hour with active processes
1766       sorted on memory consumption:
1767
1768         pcp atop -M 60 30 > /log/pcp-atop.mem
1769

NOTES

1771       pcp-atop is based on the  source  code  of  the  atop(1)  command  from
1772       https://atoptool.nl,      maintained      by      Gerlof      Langeveld
1773       (gerlof.langeveld@atoptool.nl), and aims to be command line and  output
1774       compatible with it as much as possible.
1775
1776       Some features of pcp-atop (such as reporting on the Apache HTTP daemon,
1777       Infiniband, NFS client mounts, hardware event  counts,  GPU  statistics
1778       and  per-process TCP and UDP statistics) are only activated if the cor‐
1779       resonding PCP metrics are available. Refer to the documentation for pm‐
1780       daapache(1),  pmdainfiniband(1),  pmdanfsclient(1),  pmdanvidia(1), pm‐
1781       daperfevent(1) and pmdabcc(1) for further details on  activating  these
1782       metrics.
1783
1784       The  semantics  of  the per-process network statistics deviate slightly
1785       from the atop(1)  tool:  instead  of  the  number  of  TCP/UDP  packets
1786       sent/received  (which  may  be  inaccurate due to TCP segmentation off‐
1787       load), pcp-atop shows the  number  of  tcp_sendmsg()/udp_sendmsg()/etc.
1788       kernel calls per process.
1789

FILES

1791       /etc/atoprc
1792            Configuration  file  containing  system-wide  default values.  For
1793            further information about the default values, refer  to  the  pcp-
1794            atoprc(5) man page).
1795
1796       ~/.atoprc
1797            Configuration  file  containing personal default values.  For fur‐
1798            ther information about the default values, refer to  the  pcp-ato‐
1799            prc(5) man page).
1800

PCP ENVIRONMENT

1802       Environment variables with the prefix PCP_ are used to parameterize the
1803       file and directory names used by PCP.  On each installation,  the  file
1804       /etc/pcp.conf  contains  the  local  values  for  these variables.  The
1805       $PCP_CONF variable may be used to specify an alternative  configuration
1806       file, as described in pcp.conf(5).
1807
1808       For environment variables affecting PCP tools, see pmGetOptions(3).
1809

SEE ALSO

1811       PCPIntro(1), pcp(1), pcp-atopsar(1), pmdaapache(1), pmdabcc(1), pmdain‐
1812       finiband(1), pmdanfsclient(1), pmdanvidia(1), pmdaproc(1), mkaf(1), pm‐
1813       logger(1), pmlogger_daily(1) and pcp-atoprc(5).
1814
1815
1816
1817Performance Co-Pilot                  PCP                          PCP-ATOP(1)
Impressum