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

NAME

6       atop - Advanced System & Process Monitor
7

SYNOPSIS

9       Interactive Usage:
10
11       atop  [-g|-m|-d|-n|-u|-p|-s|-c|-v|-o|-y|-Y] [-C|-M|-D|-N|-A] [-afFG1xR]
12       [-L linelen] [-Plabel[,label]... [-Z] [-Jlabel[,label]...]  [  interval
13       [ samples ]]
14
15       Writing and reading raw logfiles:
16
17       atop -w rawfile [-a] [-S] [ interval [ samples ]]
18       atop  -r  [  rawfile  ]  [-b  [YYYYMMDD]hhmm  ]  [-e  [YYYYMMDD]hhmm  ]
19       [-g|-m|-d|-n|-u|-p|-s|-c|-v|-o|-y|-Y]  [-C|-M|-D|-N|-A]  [-fFG1xR]  [-L
20       linelen] [-Plabel[,label]... [-Z] [-Jlabel[,label]...]
21

DESCRIPTION

23       The  program atop is an interactive monitor to view the load on a Linux
24       system.  It shows the occupation of  the  most  critical  hardware  re‐
25       sources  (from  a performance point of view) on system level, i.e. cpu,
26       memory, disk and network.
27       It also shows which processes are responsible for  the  indicated  load
28       with  respect  to  cpu  and memory load on process level.  Disk load is
29       shown per process if "storage accounting"  is  active  in  the  kernel.
30       Network  load  is  shown per process if the kernel module `netatop' has
31       been installed.
32
33       The initial screen shows if atop runs with  restricted  view  (unprivi‐
34       leged)  or  unrestricted view (privileged).  In case of restricted view
35       atop does not have the privileges (root identity or necessary capabili‐
36       ties)  to  retrieve  all  counter values on system level and on process
37       level.
38
39       Every interval (default: 10 seconds) information is shown about the re‐
40       source  occupation on system level (cpu, memory, disks and network lay‐
41       ers), followed by a list of processes which have been active during the
42       last  interval  (note that all processes that were unchanged during the
43       last interval are not shown, unless the key 'a' has been pressed or un‐
44       less sorting on memory occupation is done).  If the list of active pro‐
45       cesses does not entirely fit on the screen, only the top of the list is
46       shown (sorted in order of activity).
47       The  intervals  are  repeated  till the number of samples (specified as
48       command argument) is reached, or till the key 'q' is pressed in  inter‐
49       active mode.
50
51       When  atop is started, it checks whether the standard output channel is
52       connected to a screen, or to a file/pipe. In the first case it produces
53       screen  control  codes  (via  the ncurses library) and behaves interac‐
54       tively; in the second case it produces flat ASCII-output.
55
56       In interactive mode, the output of atop scales dynamically to the  cur‐
57       rent dimensions of the screen/window.
58       If the window is resized horizontally, columns will be added or removed
59       automatically. For this purpose, every column has a particular  weight.
60       The  columns with the highest weights that fit within the current width
61       will be shown.
62       If the window is resized vertically, lines of the  process/thread  list
63       will be added or removed automatically.
64
65       Furthermore in interactive mode the output of atop can be controlled by
66       pressing particular keys.  However it is also possible to specify  such
67       key  as flag on the command line. In that case atop switches to the in‐
68       dicated mode on beforehand; this mode can be  modified  again  interac‐
69       tively.  Specifying  such key as flag is especially useful when running
70       atop with output to a pipe or file  (non-interactively).   These  flags
71       are  the  same as the keys that can be pressed in interactive mode (see
72       section INTERACTIVE COMMANDS).
73       Additional flags are available to support storage of atop-data  in  raw
74       format (see section RAW DATA STORAGE).
75

PROCESS ACCOUNTING

77       With every interval, atop reads the kernel administration to obtain in‐
78       formation about all running processes.  However, it is likely that dur‐
79       ing the interval also processes have terminated.  These processes might
80       have consumed system resources during this interval as well before they
81       terminated.   Therefore,  atop  tries  to  read  the process accounting
82       records that contain the accounting information of terminated processes
83       and report these processes too.  Only when the process accounting mech‐
84       anism in the kernel is activated, the kernel writes  such  process  ac‐
85       counting record to a file for every process that terminates.
86
87       There are various ways for atop to get access to the process accounting
88       records (tried in this order):
89
90       1.  When the environment variable ATOPACCT is  set,  it  specifies  the
91           name  of  the  process  accounting file.  In that case, process ac‐
92           counting for this file should have been  activated  on  beforehand.
93           Before  opening  this  file for reading, atop drops its root privi‐
94           leges (if any).
95           When this environment variable  is  present  but  its  contents  is
96           empty, process accounting will not be used at all.
97
98       2.  This is the preferred way of handling process accounting records!
99           When  the  atopacctd daemon is active, it has activated the process
100           accounting mechanism in the kernel and transfers  to  original  ac‐
101           counting  records  to  shadow  files.  In that case, atop drops its
102           root privileges and opens the current shadow file for reading.
103           This way is preferred, because the atopacctd daemon maintains  full
104           control of the size of the original process accounting file written
105           by the kernel and the shadow files read by the atop process(es).
106
107           The atopacct service will be activated before the atop  service  to
108           enable  atop  to  detect  that process accounting is managed by the
109           atopacctd daemon. As a forking service, atopacctd takes  care  that
110           all directories and files are initialized before the parent process
111           dies. The child process continues as the daemon process.
112
113           For further information, refer to the atopacctd man page.
114
115       3.  When the atopacctd daemon is  not  active,  atop  verifies  if  the
116           process  accounting mechanism has been switched on via the separate
117           psacct or acct package (the package name depends on the Linux  dis‐
118           tro).  In  that  case,  one  of  the files /var/log/pacct, /var/ac‐
119           count/pacct or /var/log/account/pacct is in use as process account‐
120           ing file and atop opens this file for reading.
121
122       4.  As  a  last  possibility, atop itself tries to activate the process
123           accounting mechanism (requires  root  privileges)  using  the  file
124           /var/cache/atop.d/atop.acct  (to  be  written  by the kernel, to be
125           read by atop itself). Process accounting remains active as long  as
126           at least one atop process is alive.  Whenever the last atop process
127           stops (either by pressing `q' or by `kill -15'), it deactivates the
128           process accounting mechanism again. Therefore you should never ter‐
129           minate atop by `kill -9', because then it has  no  chance  to  stop
130           process accounting.  As a result, the accounting file may consume a
131           lot of disk space after a while.
132           To avoid that the process accounting file consumes  too  much  disk
133           space,  atop verifies at the end of every sample if the size of the
134           process accounting file exceeds 200 MiB and if this atop process is
135           the  only  one  that is currently using the file.  In that case the
136           file is truncated to a size of zero.
137
138           Notice that root-privileges are required to switch  on/off  process
139           accounting  in  the  kernel.  You  can start atop as a root user or
140           specify setuid-root privileges to the executable file.  In the lat‐
141           ter  case,  atop switches on process accounting and drops the root-
142           privileges again.
143           If atop does not run with root-privileges, it does not show  infor‐
144           mation  about finished processes.  It indicates this situation with
145           the message message `no procacct` in the top-right corner  (instead
146           of the counter that shows the number of exited processes).
147
148       When  during  one interval a lot of processes have finished, atop might
149       grow tremendously in memory when reading all process accounting records
150       at  the  end of the interval. To avoid such excessive growth, atop will
151       never read more than 50 MiB with process information from  the  process
152       accounting  file  per  interval (approx. 70000 finished processes).  In
153       interactive mode a  warning  is  given  whenever  processes  have  been
154       skipped for this reason.
155

COLORS

157       For the resource consumption on system level, atop uses colors to indi‐
158       cate that a critical occupation percentage has been  (almost)  reached.
159       A  critical  occupation  percentage means that is likely that this load
160       causes a noticeable negative performance influence for applications us‐
161       ing  this  resource. The critical percentage depends on the type of re‐
162       source: e.g. the performance influence of a disk with a busy percentage
163       of 80% might be more noticeable for applications/user than a CPU with a
164       busy percentage of 90%.
165       Currently atop  uses  the  following  default  values  to  calculate  a
166       weighted percentage per resource:
167
168        Processor
169            A busy percentage of 90% or higher is considered `critical'.
170
171        Disk
172            A busy percentage of 70% or higher is considered `critical'.
173
174        Network
175            A busy percentage of 90% or higher for the load of an interface is
176            considered `critical'.
177
178        Memory
179            An occupation percentage of 90% is considered `critical'.   Notice
180            that this occupation percentage is the accumulated memory consump‐
181            tion of the kernel (including slab) and all processes; the  memory
182            for  the  page  cache (`cache' and `buff' in the MEM-line) and the
183            reclaimable part of the slab (`slrec`) is not implied!
184            If the number of pages swapped out (`swout' in  the  PAG-line)  is
185            larger  than  10  per  second,  the  memory resource is considered
186            `critical'.  A value of at least 1 per second is  considered  `al‐
187            most critical'.
188            If  the  committed  virtual  memory exceeds the limit (`vmcom' and
189            `vmlim' in the SWP-line), the SWP-line is colored due to  overcom‐
190            mitting the system.
191
192        Swap
193            An  occupation  percentage of 80% is considered `critical' because
194            swap space might be completely exhausted in the near future; it is
195            not critical from a performance point-of-view.
196
197       These  default  values  can  be modified in the configuration file (see
198       separate man-page of atoprc).
199
200       When a resource exceeds its critical occupation  percentage,  the  con‐
201       cerning values in the screen line are colored red by default.
202       When  a  resource exceeded (default) 80% of its critical percentage (so
203       it is almost critical), the concerning values in the  screen  line  are
204       colored  cyan  by default. This `almost critical percentage' (one value
205       for all resources) can be modified in the configuration file (see sepa‐
206       rate man-page of atoprc).
207       The  default  colors  red and cyan can be modified in the configuration
208       file as well (see separate man-page of atoprc).
209
210       With the key 'x' (or flag -x), the use of colors can be suppressed.
211

NETATOP MODULE

213       Per-process and per-thread network activity can be measured by the  ne‐
214       tatop  kernel module. You can download this kernel module from the web‐
215       site (mentioned at the end of this manual page) and install it on  your
216       system if the kernel version is 2.6.24 or newer.
217       When  atop  gathers counters for a new interval, it verifies if the ne‐
218       tatop module is currently active. If so, atop obtains the relevant net‐
219       work  counters  from  this  module and shows the number of sent and re‐
220       ceived packets per process/thread in the generic screen.  Besides,  de‐
221       tailed counters can be requested by pressing the `n' key.
222       When  the  netatopd daemon is running as well, atop also reads the net‐
223       work counters of exited processes that are logged by this daemon  (com‐
224       parable with process accounting).
225
226       More  information  about the optional netatop kernel module and the ne‐
227       tatopd daemon can be found in the concerning man-pages and on the  web‐
228       site mentioned at the end of this manual page.
229

GPU STATISTICS GATHERING

231       GPU  statistics  can  be  gathered by atopgpud which is a separate data
232       collection daemon process.  It gathers cumulative utilization  counters
233       of  every  Nvidia GPU in the system, as well as utilization counters of
234       every process that uses a GPU.  When atop notices that  the  daemon  is
235       active, it reads these GPU utilization counters with every interval.
236
237       The  atopgpud  daemon  is  written  in  Python, so a Python interpreter
238       should be installed on the target system. The Python code of the daemon
239       is  compatible  with Python version 2 and version 3.  For the gathering
240       of the statistics, the pynvml module is used by  the  daemon.  Be  sure
241       that  this  module  is installed on the target system before activating
242       the daemon, by running the command as root pip (the command  pip  might
243       be exchanged by pip3 in case of Python3):
244
245         pip install nvidia-ml-py
246
247       The  atopgpud  daemon is installed by default as part of the atop pack‐
248       age, but it is not automatically enabled.  The daemon  can  be  enabled
249       and started now by running the following commands (as root):
250
251         systemctl enable atopgpu
252         systemctl start atopgpu
253
254       Find a description about the utilization counters in the section OUTPUT
255       DESCRIPTION.
256

INTERACTIVE COMMANDS

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

RAW DATA STORAGE

657       In  order  to  store  system and process level statistics for long-term
658       analysis (e.g. to check the system load and the active  processes  run‐
659       ning yesterday between 3:00 and 4:00 PM), atop can store the system and
660       process level statistics in compressed binary format in a raw file with
661       the  flag -w followed by the filename.  If this file already exists and
662       is recognized as a raw data file, atop will append new samples  to  the
663       file  (starting  with a sample which reflects the activity since boot);
664       if the file does not exist, it will be created.
665       All information about processes and threads is stored in the raw file.
666       The interval (default: 10 seconds) and number of samples (default:  in‐
667       finite)  can be passed as last arguments. Instead of the number of sam‐
668       ples, the flag -S can be used to indicate that atop should finish  any‐
669       how before midnight.
670
671       A  raw  file can be read and visualized again with the flag -r followed
672       by  the   filename.   If   no   filename   is   specified,   the   file
673       /var/log/atop/atop_YYYYMMDD  is  opened  for  input (where YYYYMMDD are
674       digits representing the current date).  If a filename is  specified  in
675       the   format   YYYYMMDD   (representing   any  valid  date),  the  file
676       /var/log/atop/atop_YYYYMMDD is opened.  If a filename with the symbolic
677       name  y  is specified, yesterday's daily logfile is opened (this can be
678       repeated so 'yyyy' indicates the logfile of four  days  ago).   If  the
679       filename - is used, stdin will be read.
680       The  samples from the file can be viewed interactively by using the key
681       't' to show the next sample, the key 'T' to show the  previous  sample,
682       the  key 'b' to branch to a particular time or the key 'r' to rewind to
683       the begin of the file.
684       When output is redirected to a file or pipe, atop prints all samples in
685       plain  ASCII.  The  default  line length is 80 characters in that case;
686       with the flag -L followed by an alternate line length, more  (or  less)
687       columns will be shown.
688       With  the  flag -b (begin time) and/or -e (end time) followed by a time
689       argument of the form [YYYYMMDD]hhmm, a certain time period  within  the
690       raw file can be selected.
691
692       Every  day  at  midnight atop is restarted by the atop-rotate.timer and
693       atop-rotate.service unit files, to write compressed binary data to  the
694       file  /var/log/atop/atop_YYYYMMDD with an interval of 10 minutes by de‐
695       fault.
696       Furthermore all raw files are removed that are older than 28  days  (by
697       default).
698       The  mentioned  default  values  can  be overruled in the file /etc/de‐
699       fault/atop that might contain other  values  for  LOGOPTS  (by  default
700       without any flag), LOGINTERVAL (in seconds, by default 600), LOGGENERA‐
701       TIONS (in days, by default 28), and LOGPATH (directory  in  which  log‐
702       files are stored).
703
704       Unfortunately,  it is not always possible to keep the format of the raw
705       files compatible in newer versions of atop especially when lots of  new
706       counters  have to be maintained.  Therefore, the program atopconvert is
707       installed to convert a raw file created by an older version of atop  to
708       a  raw  file  that  can be read by a newer version of atop (see the man
709       page of atopconvert for more details).
710
711

OUTPUT DESCRIPTION

713       The first sample shows  the  system  level  activity  since  boot  (the
714       elapsed  time in the header shows the time since boot).  Note that par‐
715       ticular counters could have reached their maximum value (several times)
716       and started by zero again, so do not rely on these figures.
717
718       For every sample atop first shows the lines related to system level ac‐
719       tivity. If a particular system resource has not been  used  during  the
720       interval,  the  entire  line related to this resource is suppressed. So
721       the number of system level lines may vary for each sample.
722       After that a list is shown of processes which have been  active  during
723       the  last  interval. This list is by default sorted on cpu consumption,
724       but this order can be changed by the  keys  which  are  previously  de‐
725       scribed.
726
727       If  values  have  to  be  shown  by atop which do not fit in the column
728       width, another format is used. If e.g. a cpu-consumption of 233216 mil‐
729       liseconds should be shown in a column width of 4 positions, it is shown
730       as `233s' (in seconds).  For large memory figures, another unit is cho‐
731       sen  if  the value does not fit (Mb instead of Kb, Gb instead of Mb, Tb
732       instead of Gb, ...).  For other values, a kind of exponent notation  is
733       used (value 123456789 shown in a column of 5 positions gives 123e6).
734

OUTPUT DESCRIPTION - SYSTEM LEVEL

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

OUTPUT DESCRIPTION - PROCESS LEVEL

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

PARSEABLE OUTPUT

1506       With the flag -P followed by a list of one or more labels  (comma-sepa‐
1507       rated),  parseable output is produced for each sample.  The labels that
1508       can be specified for system-level statistics correspond to  the  labels
1509       (first  verb of each line) that can be found in the interactive output:
1510       "CPU", "cpu", "CPL", "GPU", "MEM", "SWP", "PAG", "PSI",  "LVM",  "MDD",
1511       "DSK", "NFM", "NFC", "NFS", "NET", "IFB", "LLC", "NUM" and "NUC".
1512       For  process-level statistics special labels are available: "PRG" (gen‐
1513       eral), "PRC" (cpu), "PRE" (GPU), "PRM" (memory), "PRD" (disk,  only  if
1514       "storage  accounting" is active) and "PRN" (network, only if the kernel
1515       module 'netatop' has been installed).
1516       With the label "ALL", all  system  and  process  level  statistics  are
1517       shown.
1518
1519       The command and command line in the parseable output might contain spa‐
1520       ces and are therefore by default surrounded  by  parenthesis.  However,
1521       since  a space is often used as separator between the fields by parsing
1522       tools, with the additional flag -Z it is possible to exchange the  spa‐
1523       ces in the command (line) by underscores and omit the parenthesis.
1524
1525       For  every interval all requested lines are shown whereafter atop shows
1526       a line just containing the label "SEP" as a separator before the  lines
1527       for the next sample are generated.
1528       When  a  sample  contains the values since boot, atop shows a line just
1529       containing the label "RESET" before the lines for this sample are  gen‐
1530       erated.
1531
1532       The  first  part  of  each  output-line  consists  of the following six
1533       fields: label (the name of the label), host (the name of this machine),
1534       epoch  (the time of this interval as number of seconds since 1-1-1970),
1535       date (date of this interval in format YYYY/MM/DD), time (time  of  this
1536       interval  in  format HH:MM:SS), and interval (number of seconds elapsed
1537       for this interval).
1538
1539       The subsequent fields of each output-line depend on the label:
1540
1541       CPU      Subsequent fields: total number of clock-ticks per second  for
1542                this  machine,  number of processors, consumption for all CPUs
1543                in system mode (clock-ticks), consumption for all CPUs in user
1544                mode  (clock-ticks), consumption for all CPUs in user mode for
1545                niced processes (clock-ticks), consumption  for  all  CPUs  in
1546                idle mode (clock-ticks), consumption for all CPUs in wait mode
1547                (clock-ticks), consumption for all CPUs in  irq  mode  (clock-
1548                ticks),  consumption  for  all  CPUs  in  softirq mode (clock-
1549                ticks), consumption for all CPUs in steal mode  (clock-ticks),
1550                consumption  for all CPUs in guest mode (clock-ticks) overlap‐
1551                ping user mode, frequency of all CPUs, frequency percentage of
1552                all CPUs, instructions executed by all CPUs and cycles for all
1553                CPUs.
1554
1555       cpu      Subsequent fields: total number of clock-ticks per second  for
1556                this  machine,  processor-number,  consumption for this CPU in
1557                system mode (clock-ticks), consumption for this  CPU  in  user
1558                mode  (clock-ticks), consumption for this CPU in user mode for
1559                niced processes (clock-ticks), consumption  for  this  CPU  in
1560                idle mode (clock-ticks), consumption for this CPU in wait mode
1561                (clock-ticks), consumption for this CPU in  irq  mode  (clock-
1562                ticks),  consumption  for  this  CPU  in  softirq mode (clock-
1563                ticks), consumption for this CPU in steal mode  (clock-ticks),
1564                consumption  for this CPU in guest mode (clock-ticks) overlap‐
1565                ping user mode, frequency of this CPU, frequency percentage of
1566                this  CPU,  instructions  executed  by this CPU and cycles for
1567                this CPU.
1568
1569       CPL      Subsequent fields: number of processors, load average for last
1570                minute,  load  average for last five minutes, load average for
1571                last fifteen minutes, number of context-switches,  and  number
1572                of device interrupts.
1573
1574       GPU      Subsequent  fields:  GPU  number,  bus-id  string, type of GPU
1575                string, GPU busy percentage during  last  second  (-1  if  not
1576                available),  memory  busy percentage during last second (-1 if
1577                not available), total memory size (KiB), used memory (KiB)  at
1578                this  moment, number of samples taken during interval, cumula‐
1579                tive GPU busy percentage during the interval (to be divided by
1580                the  number  of samples for the average busy percentage, -1 if
1581                not available), cumulative memory busy percentage  during  the
1582                interval (to be divided by the number of samples for the aver‐
1583                age busy percentage, -1 if not available), and cumulative mem‐
1584                ory  occupation during the interval (to be divided by the num‐
1585                ber of samples for the average occupation).
1586
1587       MEM      Subsequent fields: page size for this machine (in bytes), size
1588                of  physical memory (pages), size of free memory (pages), size
1589                of page cache (pages), size of buffer cache (pages),  size  of
1590                slab  (pages),  dirty pages in cache (pages), reclaimable part
1591                of slab (pages), total size of vmware's balloon pages (pages),
1592                total  size  of shared memory (pages), size of resident shared
1593                memory (pages), size of swapped shared  memory  (pages),  huge
1594                page  size  (in bytes), total size of huge pages (huge pages),
1595                size of free huge pages (huge pages), size of ARC  (cache)  of
1596                ZFSonlinux  (pages),  size  of  sharing pages for KSM (pages),
1597                size of shared pages for KSM (pages), size of memory used  for
1598                TCP  sockets  (pages),  size  of  memory  used for UDP sockets
1599                (pages), and size of pagetables (pages).
1600
1601       SWP      Subsequent fields: page size for this machine (in bytes), size
1602                of swap (pages), size of free swap (pages), size of swap cache
1603                (pages), size of committed space (pages), limit for  committed
1604                space  (pages),  size  of the swap cache (pages), size of com‐
1605                pressed pages stored in zswap (pages), and total size of  com‐
1606                pressed pool in zswap (pages).
1607
1608       LLC      Subsequent  fields:  LLC  id,  percentage of LLC in use, total
1609                memory bandwidth of this LLC (in bytes), and memory  bandwidth
1610                on local NUMA node of this LLC (in bytes).
1611
1612       PAG      Subsequent fields: page size for this machine (in bytes), num‐
1613                ber of page scans, number of allocstalls, 0 (future use), num‐
1614                ber  of  swapins,  number  of swapouts, number of oomkills (-1
1615                when counter not present), number of  process  stalls  to  run
1616                memory  compaction,  number  of pages successfully migrated in
1617                total, number of NUMA pages migrated,  number  of  pages  read
1618                from  block  devices, and number of pages written to block de‐
1619                vices.
1620
1621       PSI      Subsequent fields: PSI statistics present on this system (n or
1622                y),  CPU some avg10, CPU some avg60, CPU some avg300, CPU some
1623                accumulated microseconds during interval, memory  some  avg10,
1624                memory some avg60, memory some avg300, memory some accumulated
1625                microseconds during interval, memory full avg10,  memory  full
1626                avg60,  memory  full avg300, memory full accumulated microsec‐
1627                onds during interval, I/O some avg10, I/O some avg60, I/O some
1628                avg300, I/O some accumulated microseconds during interval, I/O
1629                full avg10, I/O full avg60, I/O full avg300, and I/O full  ac‐
1630                cumulated microseconds during interval.
1631
1632       LVM/MDD/DSK
1633                For every logical volume/multiple device/hard disk one line is
1634                shown.
1635                Subsequent fields: name, number of milliseconds spent for I/O,
1636                number  of  reads  issued,  number  of sectors transferred for
1637                reads, number of writes issued, number of sectors  transferred
1638                for  write,  number  of discards issued (-1 if not supported),
1639                number of sectors transferred for discards, number of requests
1640                currently in flight (not yet completed), and the average queue
1641                depth while the disk was busy.
1642
1643       NFM      Subsequent fields: mounted NFS  filesystem,  total  number  of
1644                bytes  read,  total  number  of bytes written, number of bytes
1645                read by normal system calls, number of bytes written by normal
1646                system  calls,  number  of bytes read by direct I/O, number of
1647                bytes written by direct I/O, number of pages read  by  memory-
1648                mapped I/O, and number of pages written by memory-mapped I/O.
1649
1650       NFC      Subsequent  fields:  number  of  transmitted  RPCs,  number of
1651                transmitted read RPCs, number of transmitted write RPCs,  num‐
1652                ber  of  RPC  retransmissions, and number of authorization re‐
1653                freshes.
1654
1655       NFS      Subsequent fields: number of handled RPCs, number of  received
1656                read RPCs, number of received write RPCs, number of bytes read
1657                by clients, number of bytes written by clients, number of RPCs
1658                with bad format, number of RPCs with bad authorization, number
1659                of RPCs from bad client, total number of handled  network  re‐
1660                quests,  number of handled network requests via TCP, number of
1661                handled network requests via UDP, number of handled  TCP  con‐
1662                nections,  number  of hits on reply cache, number of misses on
1663                reply cache, and number of uncached requests.
1664
1665       NET      First, one line is produced for the upper layers of the TCP/IP
1666                stack.
1667                Subsequent  fields:  the  verb  "upper", number of packets re‐
1668                ceived by TCP, number of packets transmitted by TCP, number of
1669                packets received by UDP, number of packets transmitted by UDP,
1670                number of packets received by IP, number of packets  transmit‐
1671                ted by IP, number of packets delivered to higher layers by IP,
1672                number of packets forwarded by  IP,  number  of  input  errors
1673                (UDP),  number  of noport errors (UDP), number of active opens
1674                (TCP), number of passive opens (TCP), number of passive  opens
1675                (TCP), number of established connections at this moment (TCP),
1676                number of retransmitted segments (TCP), number of input errors
1677                (TCP), and number of output resets (TCP).
1678
1679                Next, one line is shown for every interface.
1680                Subsequent  fields:  name  of the interface, number of packets
1681                received by the interface, number of bytes received by the in‐
1682                terface,  number of packets transmitted by the interface, num‐
1683                ber of bytes transmitted by the  interface,  interface  speed,
1684                and duplex mode (0=half, 1=full).
1685
1686       IFB      Subsequent fields: name of the InfiniBand interface, port num‐
1687                ber, number of lanes, maximum rate (Mbps), number of bytes re‐
1688                ceived,  number  of  bytes  transmitted, number of packets re‐
1689                ceived, and number of packets transmitted.
1690
1691       NUM      Subsequent fields: NUMA node number, page size  for  this  ma‐
1692                chine  (in  bytes), the fragmentation percentage of this node,
1693                size of physical memory (pages), size of free memory  (pages),
1694                recently  (active)  used  memory (pages), less recently (inac‐
1695                tive) used memory (pages), size of cached file  data  (pages),
1696                dirty  pages in cache (pages), slab memory being used for ker‐
1697                nel mallocs (pages), slab memory that is reclaimable  (pages),
1698                shared  memory  including  tmpfs (pages), and total huge pages
1699                (pages).
1700
1701       NUC      Subsequent fields: NUMA node number, number of processors  for
1702                this  node,  consumption  for node CPUs in system mode (clock-
1703                ticks), consumption for node CPUs in user mode  (clock-ticks),
1704                consumption  for  node  CPUs  in user mode for niced processes
1705                (clock-ticks), consumption for node CPUs in idle mode  (clock-
1706                ticks),  consumption for node CPUs in wait mode (clock-ticks),
1707                consumption for node CPUs in irq mode (clock-ticks),  consump‐
1708                tion  for node CPUs in softirq mode (clock-ticks), consumption
1709                for node CPUs in steal mode (clock-ticks), and consumption for
1710                node CPUs in guest mode (clock-ticks) overlapping user mode.
1711
1712       PRG      For every process one line is shown.
1713                Subsequent  fields:  PID  (unique  ID  of task), name (between
1714                parenthesis or underscores for spaces), state, real uid,  real
1715                gid,  TGID (group number of related tasks/threads), total num‐
1716                ber of threads, exit code (in case  of  fatal  signal:  signal
1717                number  + 256), start time (epoch), full command line (between
1718                parenthesis  or  underscores  for  spaces),  PPID,  number  of
1719                threads  in  state  'running'  (R), number of threads in state
1720                'interruptible sleeping' (S), number of threads in state  'un‐
1721                interruptible  sleeping'  (D),  effective  uid, effective gid,
1722                saved uid, saved gid, filesystem uid, filesystem gid,  elapsed
1723                time  of  terminated process (hertz), is_process (y/n), OpenVZ
1724                virtual pid (VPID), OpenVZ container id  (CTID),  Docker  con‐
1725                tainer  id (CID), indication if the task is newly started dur‐
1726                ing this interval ('N'), and  cgroup  v2  path  name  (between
1727                parenthesis or underscores for spaces).
1728
1729       PRC      For every process one line is shown.
1730                Subsequent  fields:  PID,  name (between parenthesis or under‐
1731                scores for spaces), state, total  number  of  clock-ticks  per
1732                second  for this machine, CPU-consumption in user mode (clock‐
1733                ticks), CPU-consumption  in  system  mode  (clockticks),  nice
1734                value, priority, realtime priority, scheduling policy, current
1735                CPU (-1 for exited process), sleep average, TGID (group number
1736                of related tasks/threads), is_process (y/n), runqueue delay in
1737                nanoseconds for this thread or for all  threads  (in  case  of
1738                process),  wait channel of this thread (between parenthesis or
1739                underscores for spaces), block I/O delay (clockticks),  cgroup
1740                v2  `cpu.max'  calculated as percentage (-3 means no cgroup v2
1741                support, -2 means undefined and -1 means maximum), and  cgroup
1742                v2  most restrictive `cpu.max' in upper directories calculated
1743                as percentage (-3 means no cgroup v2 support, -2  means  unde‐
1744                fined and -1 means maximum).
1745
1746       PRE      For every process one line is shown.
1747                Subsequent  fields:  PID,  name (between parenthesis or under‐
1748                scores for spaces), process state, GPU state (A for active,  E
1749                for  exited,  N  for no GPU user), number of GPUs used by this
1750                process, bitlist reflecting used  GPUs,  GPU  busy  percentage
1751                during  interval, memory busy percentage during interval, mem‐
1752                ory occupation (KiB) at this moment cumulative memory  occupa‐
1753                tion (KiB) during interval, and number of samples taken during
1754                interval.
1755
1756       PRM      For every process one line is shown.
1757                Subsequent fields: PID, name (between  parenthesis  or  under‐
1758                scores  for  spaces),  state,  page  size for this machine (in
1759                bytes), virtual memory size (KiB), resident memory size (KiB),
1760                shared  text  memory  size (KiB), virtual memory growth (KiB),
1761                resident memory growth (KiB), number  of  minor  page  faults,
1762                number  of major page faults, virtual library exec size (KiB),
1763                virtual data size (KiB), virtual stack size (KiB), swap  space
1764                used  (KiB),  TGID  (group  number  of related tasks/threads),
1765                is_process (y/n), proportional set size (KiB) if in 'R' option
1766                is  specified,  virtually locked memory space (KiB), cgroup v2
1767                `memory.max' in KiB (-3 means no cgroup v2 support,  -2  means
1768                undefined  and  -1  means maximum), cgroup v2 most restrictive
1769                `memory.max' in upper directories in KiB (-3 means  no  cgroup
1770                v2  support,  -2 means undefined and -1 means maximum), cgroup
1771                v2 `memory.swap.max' in KiB (-3 means no cgroup v2 support, -2
1772                means  undefined and -1 means maximum), and cgroup v2 most re‐
1773                strictive `memory.swap.max' in upper directories  in  KiB  (-3
1774                means  no  cgroup  v2 support, -2 means undefined and -1 means
1775                maximum).
1776
1777       PRD      For every process one line is shown.
1778                Subsequent fields: PID, name (between  parenthesis  or  under‐
1779                scores  for  spaces),  state, obsoleted kernel patch installed
1780                ('n'), standard io statistics used ('y'  or  'n'),  number  of
1781                reads  on  disk,  cumulative number of sectors read, number of
1782                writes on disk, cumulative number  of  sectors  written,  can‐
1783                celled  number  of  written sectors, TGID (group number of re‐
1784                lated tasks/threads), obsoleted value  ('n'),  and  is_process
1785                (y/n).
1786                If  the  standard I/O statistics (>= 2.6.20) are not used, the
1787                disk I/O counters per process are not relevant.  The  counters
1788                'number  of  reads on disk' and 'number of writes on disk' are
1789                obsoleted anyhow.
1790
1791       PRN      For every process one line is shown.
1792                Subsequent fields: PID, name (between  parenthesis  or  under‐
1793                scores for spaces), state, kernel module 'netatop' loaded ('y'
1794                or 'n'), number of TCP-packets transmitted, cumulative size of
1795                TCP-packets transmitted, number of TCP-packets received, cumu‐
1796                lative size of TCP-packets  received,  number  of  UDP-packets
1797                transmitted,  cumulative size of UDP-packets transmitted, num‐
1798                ber of UDP-packets received, cumulative  size  of  UDP-packets
1799                transmitted,  number of raw packets transmitted (obsolete, al‐
1800                ways 0), number of raw packets received (obsolete, always  0),
1801                TGID  (group  number  of related tasks/threads) and is_process
1802                (y/n).
1803                If the kernel module is not active, the network  I/O  counters
1804                per process are not relevant.
1805

JSON OUTPUT

1807       With  the flag -J followed by a list of one or more labels (comma-sepa‐
1808       rated), JSON output is produced for  each  sample. The syntax and  name
1809       of JSON labels are the same as for the parseable output.
1810

SIGNALS

1812       By sending the SIGUSR1 signal to atop a new sample will be forced, even
1813       if the current timer interval has not exceeded  yet.  The  behavior  is
1814       similar to pressing the `t` key in an interactive session.
1815
1816       By sending the SIGUSR2 signal to atop a final sample will be forced af‐
1817       ter which atop will terminate.
1818

EXAMPLES

1820       To monitor the current system load interactively with an interval of  5
1821       seconds:
1822
1823         atop 5
1824
1825       To monitor the system load and write it to a file (in plain ASCII) with
1826       an interval of one minute during half an  hour  with  active  processes
1827       sorted on memory consumption:
1828
1829         atop -M 60 30 > /log/atop.mem
1830
1831       Store  information about the system and process activity in binary com‐
1832       pressed form to a file with an interval of ten minutes during an hour:
1833
1834         atop -w /tmp/atop.raw 600 6
1835
1836       View the contents of this file interactively:
1837
1838         atop -r /tmp/atop.raw
1839
1840       View the processor and disk utilization of this file in parseable  for‐
1841       mat:
1842
1843         atop -PCPU,DSK -r /tmp/atop.raw
1844
1845       View the contents of today's standard logfile interactively:
1846
1847         atop -r
1848
1849       View  the  contents of the standard logfile of the day before yesterday
1850       interactively:
1851
1852         atop -r yy
1853
1854       View the contents of the standard logfile of 2014, June 7 from 02:00 PM
1855       onwards interactively:
1856
1857         atop -r 20140607 -b 1400
1858
1859       Concatenate  all  raw  log  files of January 2020 and generate parsable
1860       output about the CPU utilization:
1861
1862         atopcat /var/log/atop/atop_202001?? | atop -r - -PCPU
1863

FILES

1865       /var/run/pacct_shadow.d/
1866            Directory containing the process accounting shadow files that  are
1867            used by atop when the atopacctd daemon is active.
1868
1869       /var/cache/atop.d/atop.acct
1870            File  in  which the kernel writes the accounting records when atop
1871            itself has activated the process accounting mechanism.
1872
1873       /etc/atoprc
1874            Configuration file containing system-wide default values.  See re‐
1875            lated man-page.
1876
1877       ~/.atoprc
1878            Configuration  file  containing  personal default values.  See re‐
1879            lated man-page.
1880
1881       /etc/default/atop
1882            Configuration file to overrule the settings of atop that  runs  in
1883            the  background to create the daily logfile.  This file is created
1884            when atop is installed.  The default settings are:
1885
1886       LOGOPTS=""
1887               LOGINTERVAL=600
1888               LOGGENERATIONS=28
1889
1890       /var/log/atop/atop_YYYYMMDD
1891            Raw file, where YYYYMMDD are digits representing the current date.
1892            This  name  is  used  by atop running in the background as default
1893            name for the output file, and by atop as default name for the  in‐
1894            put file when using the -r flag.
1895            All  binary  system  and  process level data in this file has been
1896            stored in compressed format.
1897
1898       /var/run/netatop.log
1899            File that contains the netpertask structs containing  the  network
1900            counters of exited processes. These structs are written by the ne‐
1901            tatopd daemon and read by atop after reading the standard  process
1902            accounting records.
1903

SEE ALSO

1905       atopsar(1),  atopconvert(1),  atopcat(1),  atoprc(5), atopacctd(8), ne‐
1906       tatop(4), netatopd(8), atopgpud(8), logrotate(8)
1907       https://www.atoptool.nl
1908

AUTHOR

1910       Gerlof Langeveld (gerlof.langeveld@atoptool.nl)
1911       JC van Winkel
1912
1913
1914
1915Linux                            December 2022                         ATOP(1)
Impressum