C Other
Switch branches/tags
Clone or download
Permalink
Failed to load latest commit information.
man Introduce new tool atopconvert to convert raw files Aug 5, 2018
prev Introduce new tool atopconvert to convert raw files Aug 5, 2018
rpmspec Modified RPM spec files to install new tool atopconvert Aug 5, 2018
45atoppm Improved performance data gathering: Sep 1, 2016
AUTHOR Initial version Sep 5, 2011
COPYING Initial version Sep 5, 2011
Makefile Finalize the modification to introduce atopconvert Aug 5, 2018
README Added depencies to build and run atop Jun 9, 2018
README.md Highlights added. Mar 25, 2017
acctproc.c Moved accounting file from /tmp to /var/cache. Oct 8, 2016
acctproc.h Introduction of new daemon atopacctd. This daemon switches on Jun 6, 2014
atop-pm.sh Prepare atop and atopacct for use on systemd-based systems. Feb 25, 2015
atop.c Improved performance data gathering: Sep 1, 2016
atop.cronsystemd Prepare systemd-based installation. Feb 2, 2015
atop.cronsysv Script atop.daily located in /usr/share/atop instead of /etc/atop.d Feb 22, 2017
atop.daily Modify default values in atop.daily script Jun 9, 2018
atop.h Solved segmentation fault Mar 17, 2017
atop.init atop.init: execute script with bash instead of sh Sep 23, 2017
atop.service Script atop.daily located in /usr/share/atop instead of /etc/atop.d Feb 22, 2017
atop.spec Added symlink atop.spec Aug 5, 2018
atopacct.init Prepare atop and atopacct for use on systemd-based systems. Feb 25, 2015
atopacct.service Execpath has been changed to /usr/sbin instead of /sbin Aug 4, 2015
atopacctd.c Modify the date string for every new version of atop/atopacctd Oct 4, 2017
atopacctd.h Prepare atop and atopacct for use on systemd-based systems. Feb 25, 2015
atopconvert.c Cosmetic changes to new tool atopconvert Aug 5, 2018
atopsar Various modifications to cooperate properly with the netatop kernel Oct 14, 2012
atopsar.c Added -r y... flag to usage message. Sep 13, 2016
deviate.c Introduce CPU instructions per cycle Oct 4, 2017
ifprop.c Maintain current speed (rate) for wireless interfaces. May 18, 2015
ifprop.h Maintain current speed (rate) for wireless interfaces. May 18, 2015
mkdate Modify the date string for every new version of atop/atopacctd Oct 4, 2017
netatop.h Preparations to move atop to github Mar 25, 2017
netatopd.h Preparations to move atop to github Mar 25, 2017
netatopif.c Dynamically switch per sample to show network stats or not. In this Oct 24, 2012
netlink.c Improved error handling on the NETLINK interface. Dec 15, 2016
netstats.h Initial version Sep 5, 2011
parseable.c Recognize if current system supports PMC event counters. Dec 16, 2017
parseable.h Improved performance data gathering: Sep 1, 2016
photoproc.c Solved segmentation fault Mar 17, 2017
photoproc.h Introduce Docker container statistics Mar 6, 2017
photosyst.c Recognize if current system supports PMC event counters. Dec 16, 2017
photosyst.h Introduce CPU instructions per cycle Oct 4, 2017
procdbase.c The guest percentage that is shown for CPUs, is not a separate May 23, 2014
psaccs_atop Changed 'rotate 1' into 'rotate 0' (no need for another dummy file). Oct 24, 2016
psaccu_atop Script atop.daily located in /usr/share/atop instead of /etc/atop.d Feb 22, 2017
rawlog.c Solved segmentation fault Mar 17, 2017
showgeneric.c Show full process list when sorting on memory is active Mar 24, 2017
showgeneric.h Introduce Docker container statistics Mar 6, 2017
showlinux.c Fix string malloc length in init_proc_prints, check result Jan 19, 2018
showlinux.h Introduce CPU instructions per cycle Oct 4, 2017
showprocs.c Add SCHED_DEADLINE as scheduling policy possibility. Oct 5, 2017
showsys.c Value of '#proc' should not include exited processes Jul 11, 2018
various.c Introduce CPU instructions per cycle Oct 4, 2017
version.c Modify the date string for every new version of atop/atopacctd Oct 4, 2017
version.h Modify the date string for every new version of atop/atopacctd Oct 4, 2017

README.md

atop

Created/maintained by Gerlof Langeveld gerlof.langeveld@atoptool.nl

Introduction

Atop is an ASCII full-screen performance monitor for Linux that is capable of reporting the activity of all processes (even if processes have finished during the interval), daily logging of system and process activity for long-term analysis, highlighting overloaded system resources by using colors, etcetera. At regular intervals, it shows system-level activity related to the CPU, memory, swap, disks (including LVM) and network layers, and for every process (and thread) it shows e.g. the CPU utilization, memory growth, disk utilization, priority, username, state, and exit code. In combination with the optional kernel module netatop, it even shows network activity per process/thread.

Highlights

The command atop has some major advantages compared to other performance monitoring tools:

  • Resource consumption by all processes. It shows the resource consumption by all processes that were active during the interval, so also the resource consumption by those processes that have finished during the interval.

  • Utilization of all relevant resources. Obviously it shows system-level counters concerning utilization of cpu and memory/swap, however it also shows disk I/O and network utilization counters on system level.

  • Permanent logging of resource utilization. It is able to store raw counters in a file for long-term analysis on system level and process level. These raw counters are compressed at the moment of writing to minimize disk space usage. By default, the daily logfiles are preserved for 28 days. System activity reports can be generated from a logfile by using the atopsar command.

  • Highlight critical resources. It highlights resources that have (almost) reached a critical load by using colors for the system statistics.

  • Scalable window width. It is able to add or remove columns dynamically at the moment that you enlarge or shrink the width of your window.

  • Resource consumption by individual threads. It is able to show the resource consumption for each thread within a process.

  • Watch activity only. By default, it only shows system resources and processes that were really active during the last interval, so output related to resources or processes that were completely passive during the interval is by default suppressed.

  • Watch deviations only. For the active system resources and processes, only the load during the last interval is shown (not the accumulated utilization since system boot or process startup).

  • Accumulated process activity per user. For each interval, it is able to accumulate the resource consumption for all processes per user.

  • Accumulated process activity per program. For each interval, it is able to accumulate the resource consumption for all processes with the same name.

  • Accumulated process activity per container. For each interval, it is able to accumulate the resource consumption for all processes within the same container.

  • Network activity per process. In combination with the optional kernel module netatop, it shows process-level counters concerning the number of TCP and UDP packets transferred, and the consumed network bandwidth per process.