ATOPSAR(1)
๐ ATOPSAR(1) ๐
From the General Commands Manual, bestie: meet atopsar โ the Advanced System Activity Report (atop related). Itโs giving โsystem stats but make it organized,โ and weโre keeping every flag, fact, and column exactly where it belongs. ๐
๐ NAME ๐
atopsar โ Advanced System Activity Report (atop related)
โจ SYNOPSIS โจ
atopsar [-flags...] [-r file|date|- ] [-R cnt ] [-b [YYYYMMDD]hhmm[ss]
] [-e [YYYYMMDD]hhmm[ss] ]
atopsar [-flags...] interval [ samples ]
๐ธ DESCRIPTION ๐ธ
The program atopsar can be used to report statistics on system level.
In the first synopsis line โ the one with no sampling interval specified โ atopsar extracts data from a raw logfile that has been recorded previously by the program atop (option -w of the atop program). You can specify the name of the logfile with the -r option of the atopsar program.
When a daily logfile of atop is used, named /var/log/atop/atop_YYYYMMDD (where YYYYMMDD reflects the date), the required date of the form YYYYMMDD can be specified with the -r option instead of the filename. Or the symbolic name 'y' can be used for yesterdayโs daily logfile โ and yes, this can be repeated, so 'yyyy' indicates the logfile of four days ago. Or the filename - can be used to read raw data from stdin. If the -r option is not specified at all, todayโs daily logfile is used by default. The starting and ending times of the report can be defined using the options -b and -e followed by a time argument of the form [YYYYMMDD]hhmm[ss].
In the second synopsis line, atopsar reads actual activity counters from the kernel with the specified interval (in seconds) and the specified number of samples (optionally). When atopsar is activated in this way it immediately sends the output for every requested report to standard output. If only one type of report is requested, the header is printed once and after every interval seconds the statistical counters are shown for that period. If several reports are requested, a header is printed per sample followed by the statistical counters for that period.
Some generic flags can be specified to influence the behaviour of the atopsar program:
๐๏ธ Generic flags
-Sโ By default the timestamp at the beginning of a line is suppressed if more lines are shown for one interval. With this flag a timestamp is given for every output-line (easier for post-processing).-aโ By default certain resources as disks and network interfaces are only shown when they were active during the interval. With this flag all resources of a given type are shown, even if they were inactive during the interval.-xโ By defaultatopsaronly uses colors if output is directed to a terminal (window). These colors might indicate that a critical occupation percentage has been reached (red) or has been almost reached (cyan) for a particular resource. See the man-page ofatopfor a detailed description of this feature (section COLORS). With the flag-xthe use of colors is suppressed unconditionally.-Cโ By defaultatopsaronly uses colors if output is directed to a terminal (window). These colors might indicate that a critical occupation percentage has been reached (red) or has been almost reached (cyan) for a particular resource. See the man-page ofatopfor a detailed description of this feature (section COLORS). With the flag-Ccolors will always be used, even if output is not directed to a terminal.-Mโ Use markers at the end of a line to indicate that a critical occupation percentage has been reached ('*') or has been almost reached ('+') for particular resources. The marker'*'is similar to the color red and the marker'+'to the color cyan. See the man-page ofatopfor a detailed description of these colors (section COLORS).-Hโ Repeat the header line within a report for everyNdetail lines. The value ofNis determined dynamically in case of output to a tty/window (depending on the number of lines); for output to a file or pipe this value is23.-Rโ Summarizecntsamples into one sample. When the logfile contains e.g. samples of 10 minutes, the use of the flag-R 6shows a report with one sample for every hour.
Other flags are used to define which reports are required:
๐ Pick your reports
-Aโ Show all possible reports.-cโ Report about CPU utilization (in total and per cpu).-gโ Report about GPU utilization (per GPU).-pโ Report about processor-related matters, like load-averages and hardware interrupts.-Pโ Report about processes.-mโ Current memory- and swap-occupation.-sโ Report about paging- and swapping-activity, and overcommitment.-Bโ Report about Pressure Stall Information (PSI).-lโ Report about utilization of logical volumes.-fโ Report about utilization of multiple devices.-dโ Report about utilization of disks.-nโ Report about NFS mounted filesystems on NFS client.-jโ Report about NFS client activity.-Jโ Report about NFS server activity.-iโ Report about the network interfaces.-Iโ Report about errors for network-interfaces.-wโ Report about IP version 4 network traffic.-Wโ Report about errors for IP version 4 traffic.-yโ General report about ICMP version 4 layer activity.-Yโ Per-type report about ICMP version 4 layer activity.-uโ Report about UDP version 4 network traffic.-zโ Report about IP version 6 network traffic.-Zโ Report about errors for IP version 6 traffic.-kโ General report about ICMP version 6 layer activity.-Kโ Per-type report about ICMP version 6 layer activity.-Uโ Report about UDP version 6 network traffic.-tโ Report about TCP network traffic.-Tโ Report about errors for TCP-traffic.-hโ Report about Infiniband utilization.-Oโ Report about top-3 processes consuming most processor capacity. This report is only available when using a log file (not when specifying an interval).-Gโ Report about top-3 processes consuming most resident memory. This report is only available when using a log file (not when specifying an interval).-Dโ Report about top-3 processes issuing most disk transfers. This report is only available when using a log file (not when specifying an interval).-Nโ Report about top-3 processes issuing most IPv4/IPv6 socket transfers. This report is only available when using a log file (not when specifying an interval).
๐ OUTPUT DESCRIPTION ๐
Depending on the requested report, a number of columns with output values are produced. The values are mostly presented as a number of events per second.
๐ฅ๏ธ Output for -c
The output for the flag -c contains the following columns per cpu:
usr%โ Percentage of cpu-time consumed in user mode (program text) for all active processes running with a nice value of zero (default) or a negative nice value (which means a higher priority than usual). The cpu consumption in user mode of processes with a nice value larger than zero (lower priority) is indicated in thenice%-column.nice%โ Percentage of cpu time consumed in user mode (i.e. program text) for all processes running with a nice value larger than zero (which means with a lower priority than average).sys%โ Percentage of cpu time consumed in system mode (kernel text) for all active processes. A high percentage usually indicates a lot of system calls being issued.irq%โ Percentage of cpu time consumed for handling of device interrupts.softirq%โ Percentage of cpu time consumed for soft interrupt handling.steal%โ Percentage of cpu time stolen by other virtual machines running on the same hardware.guest%โ Percentage of cpu time used by other virtual machines running on the same hardware (overlaps withusr%/nice%).wait%โ Percentage of unused cpu time while at least one of the processes in wait-state awaits completion of disk I/O.idle%โ Percentage of unused cpu time because all processes are in a wait-state but not waiting for disk-I/O.
๐ฎ Output for -g
The output for the flag -g contains the following columns per GPU:
busaddrโ GPU number and bus-ID (separated by'/').gpubusyโ GPU busy percentage during interval.membusyโ GPU memory busy percentage during interval, i.e. time to issue read and write accesses on memory.memoccโ Percentage of memory occupation at this moment.memtotโ Total memory available.memuseโ Used GPU memory at this moment.gputypeโ Type of GPU.
๐ง Output for -p
The output for the flag -p contains the following values:
pswch/sโ Number of process switches (also called context switches) per second on this cpu. A process switch occurs at the moment that an active thread (i.e. the thread using a cpu) enters a wait state or has used its time slice completely; another thread will then be chosen to use the cpu.devintr/sโ Number of hardware interrupts handled per second on this cpu.clones/sโ The number of new threads started per second.loadavg1โ Load average reflecting the average number of threads in the runqueue or in non-interruptible wait state (usually waiting for disk or tape I/O) during the last minute.loadavg5โ Load average reflecting the average number of threads in the runqueue or in non-interruptible wait state (usually waiting for disk or tape I/O) during the last 5 minutes.loadavg15โ Load average reflecting the average number of threads in the runqueue or in non-interruptible wait state (usually waiting for disk or tape I/O) during the last 15 minutes.
๐งต Output for -P
The output for the flag -P contains information about the processes and threads:
clones/sโ The number of new threads started per second.pexit/sโ The original page just drops the name here and gives no extra description, so thatโs all weโve got, bestie. ๐curprocโ Total number of processes present in the system.curzombโ Number of zombie processes present in the system.trunโ Total number of threads present in the system in state'running'.tslpiโ Total number of threads present in the system in state'interruptible sleeping'.tslpuโ Total number of threads present in the system in state'uninterruptible sleeping'.tidleโ Total number of threads present in the system in state'idle'(uninterruptible sleeping but not counted in the load average).
๐พ Output for -m
The output for the flag -m contains information about the memory- and swap-utilization:
memtotalโ Total usable main memory size.memfreeโ Available main memory size at this moment (snapshot).buffersโ Main memory used at this moment to cache metadata-blocks (snapshot).cachedโ main memory being used right now to cache data-blocks (snapshot). lowkey the page cache doing its thing ๐dirtyโ how much memory in the page cache still has to be flushed to disk at this very moment (snapshot). she's got unfinished business ๐ญslabmemโ main memory used at this moment for dynamically allocated memory by the kernel (snapshot). kernel's own little stash โจswptotalโ total swap space size at this moment (snapshot).swpfreeโ available swap space at this moment (snapshot).
So when you hit it with -s, the output is all about how much swapping is going on. Obsessed with how unhinged these numbers can get ๐
pagescan/sโ number of scanned pages per second, and the reason is literally that free memory dropped below a particular threshold. the system is scavenging frswapin/sโ number of memory-pages the system read from the swap-device per second.swapout/sโ number of memory-pages the system wrote to the swap-device per second.oomkillโ number of processes killed during the last interval due to lack of memory/swap. the value-1means this counter is not supported by the current kernel version. rest in pieces bestie ๐commitspcโ the committed virtual memory space, i.e. the reserved virtual space for all allocations of private memory space for processes.commitlimโ the maximum limit for the committed space, which is by default swap size plus 50% of memory size. the kernel only checks whether the committed space exceeds the limit if strict overcommit handling is configured (vm.overcommit_memoryis2). no cap, only checked under that config ๐ซถ
The -B output is all Pressure Stall Information (PSI), and it's giving stress-monitor energy ๐ธ
cpusomeโ average pressure percentage during the interval for the category 'CPU some'.memsomeโ average pressure percentage during the interval for the category 'memory some'.memfullโ average pressure percentage during the interval for the category 'memory full'.iosomeโ average pressure percentage during the interval for the category 'I/O some'.iofullโ average pressure percentage during the interval for the category 'I/O full'.
Now for -l (LVM), -f (MD), and -d (hard disk): these give you the following columns per active unit ๐
diskโ name.busyโ busy-percentage of the unit (i.e. the portion of time that the device was busy handling requests).read/sโ number of read-requests issued per second on this unit.KB/readโ average number of Kbytes transferred per read-request for this unit.writ/sโ number of write-requests (including discard requests) issued per second on this unit. yes discard counts, periodt.KB/writโ average number of Kbytes transferred per write-request for this unit.avqueโ average number of requests outstanding in the queue during the time that the unit is busy.avservโ average number of milliseconds needed by a request on this unit (seek, latency and data-transfer).
The flag -n? that's everything going on with NFS mounted filesystems, client side ๐ฆ
mounted_deviceโ mounted device containing server name and server directory being mounted.physread/sโ kilobytes data physically read from the NFS server by processes running on the NFS client.KBwrite/sโ kilobytes data physically written to the NFS server by processes running on the NFS client. when the NFS filesystem was mounted during the interval, the state'M'is shown.
Flag -j is NFS client activity, and it's giving busy little bee ๐
rpc/sโ number of RPC calls per second issued to NFS server(s).rpcread/sโ number of read RPC calls per second issued to NFS server(s).rpcwrite/sโ number of write RPC calls per second issued to NFS server(s).retrans/sโ number of retransmitted RPC calls per second.autrefresh/sโ number of authorization refreshes per second.
Flag -J flips it to NFS server activity, main character energy on the other side of the wire ๐
rpc/sโ number of RPC calls per second received from NFS client(s).rpcread/sโ number of read RPC calls per second received from NFS client(s).rpcwrite/sโ number of write RPC calls per second received from NFS client(s).MBcr/sโ number of Megabytes per second returned to read requests by clients.MBcw/sโ number of Megabytes per second passed in write requests by clients.nettcp/sโ number of requests per second handled via TCP.netudp/sโ number of requests per second handled via UDP.
Flag -i is all about how hard your network interfaces are working ๐
interfโ name of interface.busyโ busy percentage for this interface. if the linespeed of this interface could not be determined (for virtual interfaces or in case thatatoporatopsarhad no root-privileges), a question mark is shown. she's mysterious like that ๐ipack/sโ number of packets received from this interface per second.opack/sโ number of packets transmitted to this interface per second.iKbyte/sโ number of Kbytes received from this interface per second.oKbyte/sโ number of Kbytes transmitted via this interface per second.imbps/sโ effective number of megabits received per second.ombps/sโ effective number of megabits transmitted per second.maxmbps/sโ linespeed as number of megabits per second. if the linespeed could not be determined (for virtual interfaces or in case thatatoporatopsarhad no root-privileges), value0is shown. the linespeed is followed by the indication'f'(full duplex) or'h'(half duplex). iconic little suffix ngl ๐
Flag -I? that's the failures report for network interfaces, aka the drama report ๐ญ
interfโ name of interface.ierr/sโ number of bad packets received from this interface per second.oerr/sโ number of times that packet transmission to this interface failed per second.coll/sโ number of collisions encountered per second while transmitting packets.idrop/sโ number of received packets dropped per second due to lack of buffer-space in the local system.odrop/sโ number of transmitted packets dropped per second due to lack of buffer-space in the local system.iframe/sโ number of frame alignment-errors encountered per second on received packets.ocarrier/sโ number of carrier-errors encountered per second on transmitted packets.
Flag -w shows utilization of the IPv4-layer, and the formal SNMP-names are between brackets if you wanna cross-reference ๐ง
inrecv/sโ number of IP datagrams received from interfaces per second, including those received in error (ipInReceives).outreq/sโ number of IP datagrams that local higher-layer protocols supplied to IP in requests for transmission per second (ipOutRequests).indeliver/sโ number of received IP datagrams that have been successfully delivered to higher protocol-layers per second (ipInDelivers).forward/sโ number of received IP datagrams per second for which this entity was not their final IP destination, as a result of which an attempt was made to forward (ipForwDatagrams).reasmok/sโ number of IP datagrams successfully reassembled per second (ipReasmOKs).fragcreat/sโ number of IP datagram fragments generated per second at this entity (ipFragCreates).
Flag -W is the IPv4-layer failure report (formal SNMP-names between brackets again, iykyk) ๐ฅ
in: dsc/sโ number of input IP datagrams per second for which no problems were encountered to prevent their continued processing but that were discarded, e.g. for lack of buffer space (ipInDiscards).in: hder/sโ number of input IP datagrams per second discarded due to errors in the IP header (ipInHdrErrors).in: ader/sโ number of input IP datagrams per second discarded because the IP address in the destination field was not valid to be received by this entity (ipInAddrErrors).in: unkp/sโ number of inbound packets per second that were discarded because of an unknown or unsupported protocol (ipInUnknownProtos).in: ratim/sโ number of timeout-situations per second while other fragments were expected for successful reassembly (ipReasmTimeout).in: rfail/sโ number of failures detected per second by the IP reassembly algorithm (ipReasmFails).out: dsc/sโ number of output IP datagrams per second for which no problems were encountered to prevent their continued processing but that were discarded, e.g. for lack of buffer space (ipOutDiscards).out: nrt/sโ number of IP datagrams per second discarded because no route could be found (ipOutNoRoutes). lost in the void fr ๐
Flag -y gives you the general utilization of the ICMPv4-layer plus some info per type of ICMP-message (formal SNMP-names between brackets) ๐
intot/sโ number of ICMP messages (any type) received per second at this entity (icmpInMsgs).outtot/sโ number of ICMP messages (any type) transmitted per second from this entity (icmpOutMsgs).inecho/sโ number of ICMP Echo (request) messages received per second (icmpInEchos).inerep/sโ number of ICMP Echo-Reply messages received per second (icmpInEchoReps).otecho/sโ number of ICMP Echo (request) messages transmitted per second (icmpOutEchos).oterep/sโ number of ICMP Echo-Reply messages transmitted per second (icmpOutEchoReps).
And flag -Y is for the other types of ICMPv4-messages (formal SNMP-names between brackets, as always bestie) ๐ฆ
ierr/sโ number of ICMP messages received per second but determined to have ICMP-specific errors (icmpInErrors).isq/sโ number of ICMP Source Quench messages received per second (icmpInSrcQuenchs).ird/sโ number of ICMP Redirect messages received per second (icmpInRedirects).idu/sโ number of ICMP Destination Unreachable messages received per second (icmpInDestUnreachs).ite/sโ number of ICMP Time Exceeded messages received per second (icmpOutTimeExcds).oerr/sโ how many ICMP messages per second got sent out but were flagged as having ICMP-specific errors (icmpOutErrors). messy but iconic ๐osq/sโ ICMP Source Quench messages flying out per second (icmpOutSrcQuenchs).ord/sโ ICMP Redirect messages out per second (icmpOutRedirects).odu/sโ ICMP Destination Unreachable messages out per second (icmpOutDestUnreachs).ote/sโ ICMP Time Exceeded messages out per second (icmpOutTimeExcds).
Okay so the flag -u is gonna spill the tea on how the UDPv4-layer is doing โ formal SNMP-names live in the brackets, bestie:
indgram/sโ UDP datagrams per second that actually got delivered to UDP users (udpInDatagrams). slay, they made it ๐outdgram/sโ UDP datagrams per second heading out from this entity (udpOutDatagrams).inerr/sโ received UDP datagrams per second that could NOT be delivered for reasons other than there just being no app sitting at the destination port (udpInErrors).noport/sโ received UDP datagrams per second where there was literally no application at the destination port (udpNoPorts). ghosted ๐ซฅ
The flag -z gives you the IPv6-layer utilization (formal SNMP-names in brackets again, iykyk):
inrecv/sโ input IPv6-datagrams per second received from interfaces, counting the ones received in error too (ipv6IfStatsInReceives).outreq/sโ IPv6-datagrams per second that local higher-layer protocols handed to IP in requests for transmission (ipv6IfStatsOutRequests). note bestie: this counter does not include any forwarded datagrams.inmc/sโ multicast packets per second received by the interface (ipv6IfStatsInMcastPkts).outmc/sโ multicast packets per second transmitted to the interface (ipv6IfStatsOutMcastPkts).indeliv/sโ IP datagrams per second successfully delivered to IPv6 user-protocols, ICMP included (ipv6IfStatsInDelivers).reasmok/sโ IPv6 datagrams per second successfully reassembled (ipv6IfStatsReasmOKs). the glow-up after being in pieces โจfragcre/sโ IPv6 datagram fragments per second generated at this entity (ipv6IfStatsOutFragCreates).
Now the flag -Z is the failure report for the IPv6-layer (formal SNMP-names in brackets):
in: dsc/sโ input IPv6 datagrams per second with no problems blocking their continued processing, but that got discarded anyway โ e.g. for lack of buffer space (ipv6IfStatsInDiscards).in: hder/sโ input datagrams per second discarded due to errors in the IPv6 header (ipv6IfStatsInHdrErrors).in: ader/sโ input datagrams per second discarded because the IPv6 address in the destination field wasn't valid to be received by this entity (ipv6IfStatsInAddrErrors).in: unkp/sโ locally-addressed datagrams per second discarded because of an unknown or unsupported protocol (ipv6IfStatsInUnknownProtos).in: ratim/sโ timeout-situations per second while other IPv6 fragments were still expected for successful reassembly (ipv6ReasmTimeout). we were all rooting for that reassembly ๐ญin: rfail/sโ failures per second detected by the IPv6 reassembly-algorithm (ipv6IfStatsReasmFails).out: dsc/sโ output IPv6 datagrams per second that hit no problems preventing continued processing but got discarded anyway โ e.g. for lack of buffer space (ipv6IfStatsOutDiscards).out: nrt/sโ IPv6 datagrams per second discarded because no route could be found (ipv6IfStatsInNoRoutes). literally lost, no map, no vibe check ๐ธ
Flag -k? general utilization of the ICMPv6-layer plus some per-type ICMP-message tea (formal SNMP-names in brackets):
intot/sโ ICMPv6 messages (any type) received per second at the interface (ipv6IfIcmpInMsgs).outtot/sโ ICMPv6 messages (any type) transmitted per second from this entity (ipv6IfIcmpOutMsgs).inerr/sโ ICMPv6 messages received per second that had ICMP-specific errors โ bad ICMP checksums, bad length, etc. (ipv6IfIcmpInErrors).innsol/sโ ICMP Neighbor Solicit messages received per second (ipv6IfIcmpInNeighborSolicits).innadv/sโ ICMP Neighbor Advertisement messages received per second (ipv6IfIcmpInNeighborAdvertisements).otnsol/sโ ICMP Neighbor Solicit messages transmitted per second (ipv6IfIcmpOutNeighborSolicits).otnadv/sโ ICMP Neighbor Advertisement messages transmitted per second (ipv6IfIcmpOutNeighborAdvertisements).
Flag -K covers the other ICMPv6-message types (formal SNMP-names in brackets, always):
iecho/sโ ICMP Echo (request) messages received per second (ipv6IfIcmpInEchos).ierep/sโ ICMP Echo-Reply messages received per second (ipv6IfIcmpInEchoReplies).oerep/sโ ICMP Echo-Reply messages transmitted per second (ipv6IfIcmpOutEchoReplies).idu/sโ ICMP Destination Unreachable messages received per second (ipv6IfIcmpInDestUnreachs).odu/sโ ICMP Destination Unreachable messages transmitted per second (ipv6IfIcmpOutDestUnreachs).ird/sโ ICMP Redirect messages received per second (ipv6IfIcmpInRedirects).ord/sโ ICMP Redirect messages transmitted per second (ipv6IfIcmpOutRedirect).ite/sโ ICMP Time Exceeded messages received per second (ipv6IfIcmpInTimeExcds).ote/sโ ICMP Time Exceeded messages transmitted per second (ipv6IfIcmpOutTimeExcds).
Flag -U = the UDPv6-layer utilization check-in (formal SNMP-names in brackets):
indgram/sโ UDPv6 datagrams per second delivered to UDP users (udpInDatagrams),outdgram/sโ UDPv6 datagrams per second transmitted from this entity (udpOutDatagrams),inerr/sโ received UDPv6 datagrams per second that couldn't be delivered for reasons other than the lack of an application at the destination port (udpInErrors).noport/sโ received UDPv6 datagrams per second for which there was no application at the destination port (udpNoPorts).
Flag -t โ TCP-layer utilization era (formal SNMP-names in brackets):
insegs/sโ received segments per second, including those received in error (tcpInSegs).outsegs/sโ transmitted segments per second, not counting the ones containing only retransmitted octets (tcpOutSegs).actopen/sโ active opens per second this entity has supported (tcpActiveOpens).pasopen/sโ passive opens per second this entity has supported (tcpPassiveOpens).nowopenโ number of connections currently open (a snapshot, bestie), where the state is eitherESTABLISHEDorCLOSE-WAIT(tcpCurrEstab).
Flag -T = the TCP-layer failures report (formal SNMP-names in brackets):
inerr/sโ received segments per second that came in with errors (tcpInErrs).retrans/sโ retransmitted segments per second (tcpRetransSegs).attfail/sโ failed connection attempts per second that happened at this entity (tcpAttemptFails).estabreset/sโ resets per second that occurred at this entity (tcpEstabResets).outreset/sโ transmitted segments per second carrying theRSTflag (tcpOutRsts).
Flag -h is all about Infiniband port utilization ๐
controllerโ name of controller.portโ controller port.busyโ busy percentage for this port.ipack/sโ packets received from this port per second.opack/sโ packets transmitted to this port per second.igbps/sโ effective number of gigabits received per second.ogbps/sโ effective number of gigabits transmitted per second.maxgbps/sโ maximum rate as number of gigabits per second.lanesโ number of lanes.
Flag -O spills the top-3 of processes with the highest processor consumption:
pidโ process-id (if it's zero, the process has exited while the pid couldn't be determined ๐ป).commandโ the name of the process.cpu%โ the percentage of cpu-capacity being consumed. heads up: this value can exceed100%for a multithreaded process running on a multiprocessor machine ๐ฅ
Flag -G โ the top-3 of processes with the highest memory consumption:
pidโ process-id (zero again means the process exited and the pid couldn't be determined).commandโ the name of the process.mem%โ the percentage of resident memory-utilization by this process.
Flag -D โ top-3 of processes issuing the most read and write accesses to disk:
pidโ process-id (if zero, the process has exited while the pid could not be determined).commandโ the name of the process.dsk%โ the percentage of read and write accesses relative to the total number of read and write accesses issued on disk by all processes โ so ngl, a high percentage does not imply a high disk load on system level. read it again, bestie ๐ซถ
Flag -N โ top-3 of processes issuing the most socket transfers for IPv4/IPv6:
pidโ process-id (if zero, the process has exited while the pid could not be determined).commandโ the name of the process.
One last output stat before we bounce, and it's lowkey important:
net%โ the percentage of socket transfers compared to the total number of transfers issued by all processes, so a high percentage does not imply a high network load at system level. Do not let this one number gaslight you into thinking the whole box is drowning in network traffic. ๐
โจ EXAMPLES โจ
Okay bestie, here's where it gets fun. These are literally copy-paste ready:
See today's cpu-activity so far โ assuming atop is logging in the background:
atopsar
See the memory occupation for June 5, 2018 between 10:00 and 12:30 โ assuming atop has been logging daily in the background:
atopsar -m -r /var/log/atop_20180605 -b 10:00 -e 12:30
or:
atopsar -m -r 20180605 -b 10:00 -e 12:30
or โ suppose it is June 8, 2018 at this moment:
atopsar -m -r yyy -b 10:00 -e 12:30
Write a logfile with atop to record the system behaviour for 30 minutes (30 samples of one minute) and produce all available reports afterwards:
atop -w /tmp/atoplog 60 30
atopsar -A -r /tmp/atoplog
Watch TCP activity evolve for ten minutes (10 samples with sixty seconds interval):
atopsar -t 60 10
Watch the header-lines ('_' as last character) of all reports with only the detail-lines showing critical resource consumption (marker '*' or '+' as last character):
atopsar -AM | grep '[_*+]$'
๐ FILES ๐
/etc/atoprcโ configuration file containing system-wide default values (mainly flags). See related man-page.~/.atoprcโ configuration file containing personal default values (mainly flags). See related man-page./var/log/atop/atop_YYYYMMDDโ daily data file, whereYYYYMMDDare digits representing the date.
๐ฆ SEE ALSO ๐ฆ
Go read these too, iykyk: atop(1), atoprc(5), atopcat(1), atophide(1), atopconvert(1), atopacctd(8), netatop(4), netatopd(8), and the tool's home page at https://www.atoptool.nl.
๐ AUTHOR ๐
Gerlof Langeveld (gerlof.langeveld@atoptool.nl) โ periodt. ๐
That's the whole page, bestie. The source/version + date footer energy is Linux, January 2024, ATOPSAR(1). Go check your stats and slay. ๐โจ
๐ฆ where this page comes from
- alpine 3.22: atop-doc 2.11.1-r0 ยท GPL-2.0-or-later
- alpine 3.23: atop-doc 2.12.1-r0 ยท GPL-2.0-or-later
- alpine 3.24: atop-doc 2.12.1-r0 ยท GPL-2.0-or-later
- arch rolling: atop 2.13.0-1 ยท GPL-2.0-or-later
- debian trixie: atop 2.11.1-3 ยท GPL-2.0-or-later
- epel 10: atop 2.11.1-1.el10_1 ยท GPL-2.0-or-later
- fedora 43: atop 2.12.1-1.fc43 ยท GPL-2.0-or-later
- fedora 44: atop 2.12.1-3.fc44 ยท GPL-2.0-or-later
- fedora 44: atop 2.13.0-1.fc44 ยท GPL-2.0-or-later
- nixos 26.05: atop 2.12.1
- nixpkgs unstable: atop 2.13.0
- opensuse-leap 16.0: atop 2.11.1-bp160.1.4 ยท GPL-2.0-only
- opensuse-leap 16.0: atop 2.11.1-bp160.1.4 ยท GPL-2.0-only
- opensuse-leap 16.0: atop 2.11.1-bp160.1.4 ยท GPL-2.0-only
- opensuse-leap 16.0: atop 2.11.1-bp160.1.4 ยท GPL-2.0-only
- ubuntu noble: atop 2.10.0-2ubuntu2 ยท GPL-2.0-or-later
- ubuntu questing: atop 2.11.1-3
- ubuntu resolute: atop 2.12.1-1 ยท GPL-2.0-or-later
- ubuntu stonking: atop 2.13.0-1 ยท GPL-2.0-or-later
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms