commit db3454393c07f73462df89d39e722fb1d82e5609
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Sat May 13 10:17:41 2023 +0200
Prepare for atop 2.9
M atopconvert.c
A prev/photoproc_29.h
A prev/photosyst_29.h
commit fab95e9104a08ff23ab73f3490d63bdaa36094e7
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Sat May 13 10:16:56 2023 +0200
Avoid compiler warning by limiting PSI average
M showsys.c
commit 6a5dc86e2db59c8cfa954a6738c50b6d03b1a1dc
Merge: 6423e5d e5f9489
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Sun May 7 16:55:30 2023 +0200
Merge pull request #258 from bytedance/PAG_STEAL
add man for PAG steal
commit 6423e5d0276de2da3c794839996a5b5489ada60c
Merge: 0e0a4f5 1e10331
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Sun May 7 16:49:45 2023 +0200
Merge branch 'bytedance-atopacct_fail'
commit 1e10331add3ffb94f43e017835a4943c99865462
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Sun May 7 16:47:47 2023 +0200
Install cleanup function to avoid termination of parent process
M atopacctd.c
commit e5f9489fba326d3db9ff914bc9972afef0ccca74
Author: liutingjieni <liuting.0xffff@bytedance.com>
Date: Sat May 6 11:52:00 2023 +0800
add man for PAG steal
M man/atop.1
commit ef4eaba7aefcf166e869ffd474ef61bb2ef765f6
Merge: 0e0a4f5 22bebc9
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Sat Apr 29 23:04:59 2023 +0200
Merge branch 'atopacct_fail' of github.com:bytedance/atop into bytedance-atopacct_fail
commit 0e0a4f5af9bb9c6a66388add69161d5aa9caabeb
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Sat Apr 29 10:07:07 2023 +0200
Oomkills event should not remain orange after boot values
M drawbar.c
commit 9517b682ff6729a4e7d810720ea7ba2a0b20e8a2
Merge: 967a629 a8082ea
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Fri Apr 28 15:57:42 2023 +0200
Merge pull request #249 from natoscott/fix-warnings
Resolve compiler warnings from latest versions of GCC
commit 967a629645eb7170af6b6dac155b8abfc3439271
Merge: 75f8e14 8d18a52
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Fri Apr 28 15:52:02 2023 +0200
Merge pull request #246 from Algebra970/clean-versdate
Added versdate.h to make clean target
commit 75f8e144fcf2790959811e8a746d2f11f9d50cfb
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Sun Apr 23 22:22:38 2023 +0200
Clarified atop man page
M man/atop.1
commit 2dd526cb1ac6ba5f0e23cf7bcb27083aa4bc2b6e
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Sun Apr 23 12:15:42 2023 +0200
Closing bracket missing in synopsis
M man/atop.1
commit dd16cc037c1dc2d24b721d5f3186a2ac5a4870c2
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Sat Apr 22 12:24:25 2023 +0200
Add highlight concerning bar graph mode
M README.md
commit 2bc0a169330215b3d5bae3dff0b9d38aa1ff8814
Merge: 2eeed8b 57851a8
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Sat Apr 22 12:11:54 2023 +0200
Merge branch 'bargraph'
commit 57851a8032cd79460536d2a5314d4384ea2aef81
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Sat Apr 22 11:12:30 2023 +0200
Introduce bar graph mode
Besides all detailed information that is supplied by atop on
system and process level, a (character-based) bar graph can be
shown about the utilization of the most critical system resources,
i.e. processors, disks, network interfaces and memory. The original
interface of atop is still compatible and is called 'text mode'
from now on, while the additional interface is called
'bar graph mode'.
Atop will still be started in 'text mode' unless the '-B' flag is
used. Within an interactive atop session, the 'B' key can be used
to switch between the two modes.
The bar graph mode can be used for live monitoring as well as
for viewing of raw files.
M Makefile
M atop.c
M atop.h
A drawbar.c
M man/atop.1
M man/atoprc.5
M parseable.c
M showgeneric.c
M showgeneric.h
M showlinux.c
M showprocs.c
M showsys.c
commit 2eeed8b8ff907ac330459b6ca0a2b3a8b2860ae2
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Mon Apr 3 08:35:36 2023 +0200
Freeing ethlink should depend of ifdef
M ifprop.c
commit 5f5a41407222a407add06d59da46b5e64a3f763d
Merge: 0c7ce67 e34e936
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Sat Apr 1 22:19:08 2023 +0200
Merge branch 'bytedance-recollect-nprocexit-by-reacquire-acctfd'
commit e34e9366c6ce4bf0de2b9f875e0e8375618bdd1e
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Sat Apr 1 22:18:28 2023 +0200
Added reset to indicate shadow file to be closed
M acctproc.c
commit 22bebc9fc2a3d83799072d711aa2a977d4f7c481
Author: Ting Liu <liuting.0xffff@bytedance.com>
Date: Thu Mar 23 20:50:43 2023 +0800
fix atopacctd.c: failed to start atopacct.service
The type of atopacct.service is "forking". If the parent process
does not exit within 90 seconds after starting, the service is
considered to have failed to start.
After executing fork(), there is a situation where the child process
gets scheduled before the parent process. When the child process
reaches the kill() function and sends a signal to the parent process,
the parent process has not yet been scheduled. After receiving the
signal, the parent process executes the signal handling function but
has not yet reached the pause() function. As a result, the parent
process gets stuck in the pause() function and does not exit, causing
the atopacct.service to fail to start.
M atopacctd.c
commit 90efc4bea781b71cc8f77f8f9484c80fbfd21b49
Author: Fei Li <lifei.shirley@bytedance.com>
Date: Mon Jan 16 17:40:23 2023 +0800
acctatop: reacquire acctfd to collect nprocexit for some bad cases
In current code, the acctfd value in acctproc.c will not be updated
once atop runs. This can cause 'nprocexit is zero' problem when
atopacct.service restarts but atop.service not, in which case, the
previous shadow file that atop read is being '(deleted)'. As acctfd
does not change, atop will continue reading that obsolete file whose
size will never grow, leading to get a wrong number of exited process,
e.i. always be zero from now on until atop.service restarts.
Fix this by reacquiring the new shadow file fd after atopacct.service
restarts. By the way, only reacquire for atopacct case; as for other
cases that directly read from acct() file, restarting service does
not make the nprocexit a wrong value. Besides, if the atopacct or
(p)acct service is stopped for a while, ignore this situation too,
as we are not sure if the action is on purpose or not.
Signed-off-by: Fei Li <lifei.shirley@bytedance.com>
M acctproc.c
commit 6f4761381c6f669613a5339542fa2e6cbac41adf
Author: Fei Li <lifei.shirley@bytedance.com>
Date: Fri Jan 13 21:16:58 2023 +0800
Calibrate nprocexit to avoid atop coredumps unexpectedly
There's a case that the shadow file becomes larger than its
limit, e.i. (maxshadowrec * acctrecsz), and then suddenly
atopacct.service restarts suddenly.
In current logic supposing atopacct.service does not restart, we
will continue to read a new shadowpath whose sequence is one greater
than the fulled one. But this does not work if atopacct.service
restarts, as the new shadowpath's sequence number will be started
with zero, leading to a negative value when comparing with the
fulled one. And thus return the unsigned long 'nprocexit' as a
very huge positive number.
What's more, after acctphotoproc(), we get a wrong acctsize
(including reset acctsize to zero), and thus a dummy huge 'curpexit'
struct whose partial attributes like gen/cpu/mem/disk are still
zeroed. Then later, the same as 'devtstat' struct. Finally, these
zeroed attributes will cause a glibc sort() coredump like "*a = 0"
during compcpu(), compmem() and so on.
To fix this case,
- firstly, return numrecs as zero once detecting atopacct.service
restarts or other bad cases, regarding as an incomplete sample;
- secondly, to avoid other bad cases, calibrate nrexit during
acctphotoproc(), re-calculate the real 'nprocexit' to avoid the
"*a = 0" error.
Signed-off-by: Fei Li <lifei.shirley@bytedance.com>
Co-authored-by: Ting Liu <liuting.0xffff@bytedance.com>
M acctproc.c
commit 0c7ce67ab72041f1829ef71cfa00f4b7bfa630d6
Merge: 7a917f3 8390f4d
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Sat Mar 25 12:23:06 2023 +0100
Merge pull request #248 from bytedance/fix-json-lvm
json.c: fix avque counters output
commit 7a917f3e20980d1488ddb8a111a5f1f460561843
Merge: 6b9691a 6809e6f
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Sat Mar 25 12:22:03 2023 +0100
Merge pull request #245 from xixiliguo/fix-paging-stat
fix calculation for scan and steal
commit 6b9691a4248e933ef608bad59ca89302a1fc154d
Merge: eb158ef a273887
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Sat Mar 25 12:09:08 2023 +0100
Merge pull request #239 from pizhenwei/fix-memory-leak
ifprop.c: Fix possible memory leak
commit 8390f4d028c328ee4d9ca604ec2f14930ddb1ac7
Author: Fei Li <lifei.shirley@bytedance.com>
Date: Mon Mar 6 11:37:24 2023 +0800
json.c: fix avque counters output
Fixes: 6cc222a8c528 ("Add avque counters to json data")
Signed-off-by: Fei Li <lifei.shirley@bytedance.com>
M json.c
commit a8082ea0c401a8a5dc70b62be0027f3e7324b5d5
Author: Nathan Scott <nathans@redhat.com>
Date: Mon Mar 6 14:42:56 2023 +1100
Resolve compiler warnings from latest versions of GCC
Fix an incorrect struct array null test on bdev names, i.e.
"warning: the comparison will always evaluate as ‘true’ for the address of ‘name’ will never be NULL [-Waddress]"
in disk, LVM and MD block device deviate.c calculations.
M deviate.c
commit eb158ef2b2a48607788c5cd0a8213100d6df12f8
Merge: 5073b66 4f04c2c
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Fri Mar 3 16:48:57 2023 +0100
Merge pull request #243 from Algebra970/master
only call str.decode if nvml returned bytes
commit 8d18a52efd8e77ac48cc5758f8ff5bf686f0142b
Author: elad <soffer.elad@gmail.com>
Date: Wed Mar 1 18:17:26 2023 +0200
Added versdate.h to make clean target
M Makefile
commit 4f04c2ca5695e025413357c608abf9e2d0397a0f
Author: elad <soffer.elad@gmail.com>
Date: Wed Mar 1 18:14:10 2023 +0200
Revert "Added versdate.h to make clean target"
This reverts commit 2973c8ee71d1cc23853fc79c503571b257ae97a8.
M Makefile
commit 2973c8ee71d1cc23853fc79c503571b257ae97a8
Author: elad <soffer.elad@gmail.com>
Date: Wed Mar 1 18:07:52 2023 +0200
Added versdate.h to make clean target
M Makefile
commit 6809e6f22c29435a244fe797e28328f37728b101
Author: peter wang <wangbo.red@gmail.com>
Date: Wed Mar 1 21:33:46 2023 +0800
fix calculation for scan and steal
M photosyst.c
commit 69bf04e1a1f5e8ba7c99da1dc56a3e022ccf83c6
Author: elad <elad@uveye.com>
Date: Sun Feb 26 15:39:00 2023 +0200
only call str.decode if nvml returned bytes
M atopgpud
commit 5073b66c6945d7b22acdbd9c5ed0f353cf8e0eb9
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Sat Feb 25 14:49:42 2023 +0100
Add exit epoch to parseable output PRG (solves issue #242)
M man/atop.1
M parseable.c
commit 9e3b62584ae5cc710f222aaa1f52aa3e25cff49c
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Sat Feb 25 14:23:20 2023 +0100
Minor correction in man page for NVCSW/NIVCSW
M man/atop.1
commit 788cb32fcd7693f5773f5f4b361908146501a943
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Sat Feb 25 14:13:42 2023 +0100
Context switches (voluntary and involuntary) on process level incorrect.
The context switches on process level only concern the values of
the main thread instead of all threads. Corrected by accumulating
values of all threads.
M photoproc.c
commit 999103c4983260cfdcbaad30f78030a88358ed16
Merge: 71a8690 b870681
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Sat Feb 25 14:01:33 2023 +0100
Merge branch 'bytedance-photoproc-ctxSwitch'
commit b870681434b8df10667f837a8d5cce5bb9d555ec
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Sat Feb 25 13:56:58 2023 +0100
Various modifications releated to (non)voluntary context switches.
- new counters should be added at the end of line for parseable output
- document parseable counters (man page)
- field descriptions in alphabetical order (man page)
- use val2valstr() for counters with a fixed column width
M man/atop.1
M parseable.c
M showlinux.c
M showprocs.c
commit d3eea820addf0e943bb08b2934f4cb0a7a900dad
Merge: 71a8690 e22b934
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Sat Feb 25 13:23:06 2023 +0100
Merge branch 'photoproc-ctxSwitch' of github.com:bytedance/atop into bytedance-photoproc-ctxSwitch
commit 71a8690bccbce5b8b7794336b74eb12261214ce9
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Sat Feb 25 13:12:27 2023 +0100
Merging macro protection in header files (pull request #215)
M acctproc.h
M atop.h
M atopacctd.h
M ifprop.h
M mkdate
M netatop.h
M netatopd.h
M netstats.h
M parseable.h
M photoproc.h
M rawlog.h
M showgeneric.h
M showlinux.h
M version.h
commit e22b934636935e973136b6d1bc3285e83ddb2451
Author: Fei Li <lifei.shirley@bytedance.com>
Date: Wed Nov 23 14:51:24 2022 +0800
Add nvcsw and nivcsw for each process
As we all know, too much context switches can lead to poor
performance. Besides, sometimes one same process deployed in two
places may behave different. Thus it's necessary to collect the
- nvcsw (number of times that the program was context-switched
voluntarily, for instance while waiting for an I/O operation
to complete) and
- nivcsw (number of times the process was context-switched
involuntarily, e.g. the time slice expired)
two indicators to monitor the performance.
Signed-off-by: Fei Li <lifei.shirley@bytedance.com>
M deviate.c
M json.c
M man/atop.1
M parseable.c
M photoproc.c
M photoproc.h
M showgeneric.c
M showlinux.c
M showlinux.h
M showprocs.c
commit a273887b2defb457e0e5b1c58c5c906683b58921
Author: zhenwei pi <pizhenwei@bytedance.com>
Date: Wed Feb 22 11:19:56 2023 +0800
ifprop.c: Fix possible memory leak
Once 'ioctl(sockfd, SIOCETHTOOL, &ifreq)' fails, the dynamically
allocated memory buffer(ethlink points to) gets orphan.
Signed-off-by: zhenwei pi <pizhenwei@bytedance.com>
M ifprop.c
commit 416e955f7c8e6872dc27512b3084b1528e62163c
Merge: 3cd21d0 99a2581
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Sat Feb 18 16:56:26 2023 +0100
Merge branch 'master' of github.com:Atoptool/atop
commit 3cd21d05c690f9c0fd871bf3651c7936ff887d85
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Sat Feb 18 16:55:51 2023 +0100
Code cleanup and prototype additions
M Makefile
M acctproc.c
M atop.c
M atop.h
M atopacctd.c
M atopconvert.c
M atopsar.c
M json.c
M netlink.c
M parseable.c
M photosyst.c
M photosyst.h
M procdbase.c
M showgeneric.c
M showgeneric.h
M showlinux.c
M showlinux.h
M showprocs.c
M showsys.c
M various.c
M version.h
commit 99a25812e50cbecdcad71fccec6d4a625b04436e
Merge: ca9d6d9 6180aba
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Sat Feb 18 15:04:30 2023 +0100
Merge pull request #231 from bytedance/fix-atop-rotate
atop-rotate.service: use restart instead of try-restart
commit ca9d6d9f902ae73c1b9b78ff937900648ebfead1
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Sat Feb 4 12:34:20 2023 +0100
Consistency check on number of threads (solves issue #232)
M photoproc.c
commit 6180aba57e07544c85dc9f8ba5d052e8bc719851
Author: Fei Li <lifei.shirley@bytedance.com>
Date: Fri Jul 15 20:01:08 2022 +0800
atop-rotate.service: use restart instead of try-restart
`man systemctl` says the 'try-restart' pattern:
'Restart one or more units specified on the command line if the units
are running. This does nothing if units are not running.'
That means atop can not be started successfully by daily
atop-rotate.timer if it is already exited. Fix this by changing
try-restart to restart.
Signed-off-by: Fei Li <lifei.shirley@bytedance.com>
M atop-rotate.service
commit 72f361df6ae11d63443cf562fee1bdeb0f6218bd
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Sat Jan 7 19:42:31 2023 +0100
Add link to atophttpd
M README.md
commit 5bc3edc64ca01dd46922b34402c67c6f286399aa
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Sat Jan 7 14:27:52 2023 +0100
Version 2.8.1
M version.h
commit a2c45992f59ce6110b24b22fc9bf65028197e96d
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Sat Jan 7 12:21:03 2023 +0100
Solve compiler warnings about format-truncation
M various.c
commit b93546d1ed03ec5b6e0c747a2571820129d60771
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Sat Jan 7 12:02:37 2023 +0100
Avoid buffer overflows during value formatting
M various.c
commit 490c73ce516bff6dd53786e2be29bbcbc4185071
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Sat Jan 7 12:00:36 2023 +0100
Correct NUMA conversion in logfiles from version 2.7 to 2.8
M atopconvert.c
commit ed17722fa50f3a0be4d1d4a86336180a38a69109
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Sat Jan 7 11:16:42 2023 +0100
Added contributor
M AUTHORS