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
commit 338637d911b98d67b3d3b8a25e25532659a36571
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Thu Dec 29 23:32:50 2022 +0100
Rename AUTHOR in spec file
M rpmspec/atop.specsystemd
commit 6621b213326fdeba79e8c15214f7e78597ce391f
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Thu Dec 29 23:24:23 2022 +0100
Up-to-date list of contributors
D AUTHOR
A AUTHORS
commit be2d5c43e4fd8b6f2754e2cabdd55857d5ad8da2
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Thu Dec 29 22:33:12 2022 +0100
New version 2.8.0
M version.h
commit d7f71c0bfc3980a0103ed23f55a8db4c72b8d6f2
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Thu Dec 29 21:56:05 2022 +0100
Update timestamp of man pages
M man/atop.1
M man/atopacctd.8
M man/atopcat.1
M man/atopconvert.1
M man/atopgpud.8
M man/atoprc.5
M man/atopsar.1
commit 3bfd0dbbeaf023c351235a44b92ad8b3691c4648
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Thu Dec 29 15:39:34 2022 +0100
Adapt atopconvert for conversion to version 2.8
M README
M atopconvert.c
A prev/netstats_wrong.h
A prev/photoproc_28.h
M prev/photosyst_20.h
M prev/photosyst_21.h
M prev/photosyst_22.h
M prev/photosyst_23.h
M prev/photosyst_24.h
M prev/photosyst_25.h
M prev/photosyst_26.h
M prev/photosyst_27.h
A prev/photosyst_28.h
commit 33c0abcd3423e276e538d26f4850c266abdcdbf5
Merge: 3b7ad4b 6cc222a
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Thu Dec 29 12:11:20 2022 +0100
Merge pull request #229 from pizhenwei/json-fix
Json fix
commit 3b7ad4b61f94776ddc0f9755ef2f0353c3eac962
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Thu Dec 29 11:59:11 2022 +0100
Atopacct.service verifies if psacct/acct is active (solves issue #227)
To avoid that the atopacctd daemon and the (ps)acct service
both try to activate process accounting continuously, the
atopacct.service refuses to start when the (ps)acct service is
already active.
M atopacct.service
commit 6cc222a8c528112f39f8657b84367a0a3b7c961f
Author: zhenwei pi <pizhenwei@bytedance.com>
Date: Tue Dec 27 10:15:51 2022 +0800
Add avque counters to json data
Signed-off-by: zhenwei pi <pizhenwei@bytedance.com>
M json.c
commit be1fc512f00b36d6b80d9fe6aa73640787bf3417
Author: zhenwei pi <pizhenwei@bytedance.com>
Date: Tue Dec 27 09:36:44 2022 +0800
Add inflight counters to json data
Signed-off-by: zhenwei pi <pizhenwei@bytedance.com>
M json.c
commit cf4d2d268f9fefadc5b56e717eb57f7260223834
Author: zhenwei pi <pizhenwei@bytedance.com>
Date: Fri Dec 2 16:05:46 2022 +0800
Fix LLC output for Json
Signed-off-by: zhenwei pi <pizhenwei@bytedance.com>
M json.c
commit 66641630457e3b607391dd08bfe79b0a3ccbf416
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Sat Dec 24 13:24:24 2022 +0100
Solve format-overflow/maybe-uninitialized warnings
M atopsar.c
M gpucom.c
M photosyst.c
M showprocs.c
M various.c
commit b6041164d738ba51eeacc9ef2676745564a33ee7
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Sat Dec 24 13:22:22 2022 +0100
Reshuffle counters to ease raw file conversion
M photosyst.h
commit e395f48d4709bbcb03918cc752d9f8a2387e5c53
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Sat Dec 24 12:13:12 2022 +0100
Recalculate average queue in parseable output
M man/atop.1
M parseable.c
commit 8d133c6f51f7d1424f3c4590dbb8621e971688ec
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Sat Dec 24 11:58:33 2022 +0100
Corrected the order of inflight/avque
M man/atop.1
M parseable.c
commit 3a210c1b77f5069a8be364a8107aaa686bccdcd3
Merge: e52eaaa ebfda60
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Sat Dec 24 11:54:06 2022 +0100
Merge branch 'bytedance-add-inflight'
commit ebfda604a89c0906dc038636887ec0e11d0590d3
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Sat Dec 24 11:53:36 2022 +0100
Add inflight and avque counters to parseable data
M man/atop.1
M parseable.c
M showlinux.c
commit a57b7ef96fba4fbb98ba92048c2ced2e90d92298
Merge: e52eaaa a232722
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Sat Dec 24 11:38:27 2022 +0100
Merge branch 'add-inflight' of github.com:bytedance/atop into bytedance-add-inflight
commit e52eaaa65f87ad0315cbd33362d046e2d786f5bc
Merge: a082801 c6a0661
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Sat Dec 24 11:17:39 2022 +0100
Merge pull request #225 from natoscott/bdelay-space-fix
Fix BDELAY in priphead call to make_proc_prints for schedprocs
commit a0828016b1c5e87b73b58ff427b371dc0cb93195
Merge: 7e83f05 e892d9a
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Sat Dec 24 11:16:40 2022 +0100
Merge pull request #224 from natoscott/deviate-container-preindex
Correct the array index used for previous samples per-container CPU values
commit 7e83f05e98d33f52f9c892a886584a0bdf6dec26
Merge: e40449b cff3075
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Sat Dec 24 11:10:56 2022 +0100
Merge pull request #223 from natoscott/dskavio-print-fix
Reinstate dropped printing of avio msec values between 99.95 and 9995
commit e40449b7b2623da00f43a2141be536c38d196d5e
Merge: 21bd4fd a26b937
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Sat Dec 24 10:46:42 2022 +0100
Merge pull request #222 from bytedance/display-rbd-disk
photosyst: add ceph rbd disk display
commit 21bd4fd643605e1b42e3e61f4ae82ce4bfadba5b
Merge: d8d97f9 2b07b01
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Sat Dec 24 10:43:14 2022 +0100
Merge pull request #217 from bytedance/fix-numanr
photosys.c: correct the numa number for NUM and NUC
commit c6a066167ee33a9cbef353439594f7dfa61cb940
Author: Nathan Scott <nathans@redhat.com>
Date: Thu Dec 15 15:16:08 2022 +1100
Fix BDELAY in priphead call to make_proc_prints for schedprocs
M showlinux.c
commit e892d9afae4883f3488542a664de83012e42d9c1
Author: Nathan Scott <nathans@redhat.com>
Date: Thu Dec 15 13:49:00 2022 +1100
Correct the array index used for previous samples per-container CPU values
Compare to previous sample array handling for NFS, disks, interfaces, etc.
M deviate.c
commit cff3075a5a05f98629c3f22c6c5d8466ca46c573
Author: Nathan Scott <nathans@redhat.com>
Date: Thu Dec 15 11:27:04 2022 +1100
Reinstate dropped printing of avio msec values between 99.95 and 9995
I believe this was an accidental change in commit db9eef1d4 which has
introduced a code path where no value is added to the buffer at all.
M showsys.c
commit a26b937efb4cac44c5a8adcd0a7981501b48b83e
Author: Fei Li <lifei.shirley@bytedance.com>
Date: Tue Dec 13 16:15:08 2022 +0800
photosyst: add ceph rbd disk display
Ceph block devices are used in many scenarios, especially in k8s
cluster, in which case an external ceph storage cluster is used to
implement persistent storage for pods inside the k8s cluster.
An example in /proc/diskstats is as follows:
254 288 rbd18 25359 1 2459552 18239 2 0 16 42 0 19706 11358 0 0 0 0
254 289 rbd18p1 25240 1 2453022 18190 2 0 16 42 0 19655 11337 0 0 0 0
Signed-off-by: Fei Li <lifei.shirley@bytedance.com>
M photosyst.c
commit 2b07b014153b6ccb00a4e02b134fa6cc9cec6fc2
Author: Fei Li <lifei.shirley@bytedance.com>
Date: Tue Dec 6 20:48:13 2022 +0800
photosys.c: correct the numa number for NUM and NUC
Current code uses array index to store the numa number, which may
sort the numanr to a wrong value after the qsort() funtion in
generic_samp().
Fix this by re-adding the 'numanr' member for struct mempernuma and
cpupernuma to store the correct numa number. The permanent 'numanr'
member can guarantee the numa number from adjusting after qsort(),
while the qsort() function can continue working by sorting NUM from
small to large according to free memory, and sorting NUC from small
to large according to idle cpu.
Besides, add NUC for JSON output.
Fixes: 1fbda3f1081a ("Additions to NUMA counters")
Reported-by: Qi Zheng <zhengqi.arch@bytedance.com>
Signed-off-by: Fei Li <lifei.shirley@bytedance.com>
M deviate.c
M json.c
M parseable.c
M photosyst.c
M photosyst.h
M showsys.c
commit d8d97f93f2425be97e4aca6df5c91fd18913ac16
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Sat Nov 26 12:56:14 2022 +0100
Timeout when setting semaphore in atop (issue #207)
M acctproc.c
commit e1a50559934bb9a1ca2b41eba77134abeaae3d22
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Sat Nov 26 11:38:17 2022 +0100
Current CPU set to -1 for terminated process (solves issue #201)
When a process has terminated (status 'E') the current CPU will
be set to -1 (means: unknown) in the parsable output with label PRC.
M deviate.c
M man/atop.1
commit ecfc92e04f33ebd09ca0c06debc16585ec993002
Merge: 75a67ee 580099c
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Sat Nov 26 10:41:39 2022 +0100
Merge branch 'pizhenwei-json'
commit 580099c03e344f401755ad5f8297842b7e950083
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Sat Nov 26 10:41:00 2022 +0100
Typo corrections and correction in man page
M json.c
M man/atop.1
commit fb9edb2cabda7368b9115691ee297b71a486904c
Author: zhenwei pi <pizhenwei@bytedance.com>
Date: Mon Nov 14 10:09:39 2022 +0800
Introduce JSON output by '-J xxx'
It's possible to dump the record by JSON format, this is quite
friendly to web service, and lot of use libraries could parse these
data easily.
The syntax is similar to parseable output.
Co-authored-by: Fei Li <lifei.shirley@bytedance.com>
Signed-off-by: Fei Li <lifei.shirley@bytedance.com>
Signed-off-by: zhenwei pi <pizhenwei@bytedance.com>
M Makefile
M atop.c
A json.c
A json.h
M man/atop.1
commit 75a67eee67962ab2b2a787375de6907a008164f9
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Tue Nov 1 20:17:39 2022 +0100
Add missing counter iInCsumErrors to ICMP counters
M netstats.h
commit a232722a59c4eeeeadf4e8f5c269d59eff6b8f70
Author: Teng Hu <huteng.ht@bytedance.com>
Date: Mon Aug 15 14:16:25 2022 +0800
supplement inflight I/O requests
Inflight I/O requests count I/O requests issued to the device driver but
have not yet completed, which are useful to analyze system I/O status.
More than this, since plenty of processes remain in D status for a long time
come from I/O troubles, inflight I/O values also help to examine these processes.
Signed-off-by: Teng Hu <huteng.ht@bytedance.com>
M deviate.c
M man/atop.1
M photosyst.c
M photosyst.h
M showlinux.c
M showlinux.h
M showsys.c
commit be42f0b0eed45af5045c2f1d85b4bd87e22ca32f
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Tue Aug 30 16:55:57 2022 +0200
Man page: clarify elapsed time in PRG parseable output
M man/atop.1
commit e9f3048f7e04c39d43cd19481e14797d6163556d
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Tue Aug 30 16:46:23 2022 +0200
Exponent calulation for high counter might exceed column width
When a column width was defined of e.g. 4 positions, the value
99999 was shown as 100e3 instead of 99e3 (upward rounding caused
an extra position).
M various.c
commit 38ae774ef76bb5472215b4e0dc7e339b2fdddff2
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Tue Aug 30 16:24:22 2022 +0200
PID selection can not be undone for same interval
When pressing 'I' to select particular PIDs and pressing 'I'
again within the same interval to deselect by pressing the
Enter-key, the deselection is ignored.
Solved by reinitializing the input buffer.
M showgeneric.c
commit ea723065de70854c127daa9545d25df1bab4fd3d
Merge: ba677a7 02479a2
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Sat Aug 20 13:36:35 2022 +0200
Merge branch 'secondmem'
commit 02479a2ededa76c843d59828d4e8b8886d0723a9
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Sat Aug 20 13:32:02 2022 +0200
Split the MEM line into two lines and add pagetable size
Since it was hardly possible to view the values in the MEM line
(too many), the memory utilization has been spread over two lines.
The amount of memory used for page tables has been added.
M deviate.c
M man/atop.1
M parseable.c
M photosyst.c
M photosyst.h
M showlinux.c
M showlinux.h
M showsys.c
commit ba677a79c2cc987db03ea4226fd95a28351b429a
Merge: 76a6774 0933e00
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Sat Aug 13 13:05:26 2022 +0200
Merge branch 'bytedance-support-sockstat-mem-consumption'
commit 0933e00880ebfb425ac98b106c24c825a10fbdad
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Sat Aug 13 13:03:04 2022 +0200
Memory usage for TCP/UDP sockets
M man/atop.1
M parseable.c
M photosyst.c
M showlinux.c
M showsys.c
commit ffdbb1994b9b4ca2de3e6ca6da102a3f9162787e
Merge: 76a6774 a2422e3
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Sat Aug 13 11:56:44 2022 +0200
Merge branch 'support-sockstat-mem-consumption' of github.com:bytedance/atop into bytedance-support-sockstat-mem-consumption
commit 76a67740379ffd13644d21ebe9e19f2e87e03273
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Sat Aug 13 11:49:02 2022 +0200
Add Documentation key to atop-rotate.service/.timer (issue #206)
M atop-rotate.service
M atop-rotate.timer
M man/atop.1
commit d24484bbc67ceaeb302cbd6294da398aea10c7b7
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Sat Aug 13 11:30:54 2022 +0200
Correct typos in man pages (solves issue #205)
M man/atop.1
M man/atopsar.1
commit 69599a02aa21b77aaf56fc2303b86296c557c1e0
Merge: 57a808e c9fea4e
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Sat Aug 13 11:13:56 2022 +0200
Merge pull request #198 from bytedance/showhdrline-fix-sprintf-oob
showhdrline: fix OOB access when COLS is too small
commit 57a808e3cdf0f2d4b516a211e8e915b0d972b33f
Merge: 8365a75 5c326ee
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Sat Aug 13 10:28:46 2022 +0200
Merge pull request #203 from pizhenwei/fix-compile-error-with-http
Fix compiling error with -DHTTPSTATS
commit 8365a7583e08a27ed14aedd2d0909dbde0513f18
Merge: d9e0e6a 4243e34
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Thu Jul 28 11:58:19 2022 +0200
Merge branch 'cgroup'
commit 4243e34f6bb7444f630350843b66c8f490ecc283
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Thu Jul 28 11:52:34 2022 +0200
Add cgroup support (solves issue #127)
The current cgroup is registered for systems that are based on cgroup v2.
Apart from the group name also relevant controller information is
maintained, like the cpu.max and the memory.max (for the group itself
and the most restrictive value in the parent groups).
M atop.h
M deviate.c
M man/atop.1
M parseable.c
M photoproc.c
M photoproc.h
M rawlog.c
M showgeneric.c
M showgeneric.h
M showlinux.c
M showlinux.h
M showprocs.c
commit 5c326ee948775afc541ecd88017c5e9d2b4099bf
Author: zhenwei pi <pizhenwei@bytedance.com>
Date: Thu Jul 21 15:52:17 2022 +0800
Fix compiling error with -DHTTPSTATS
Fix compiling error like this:
In file included from atopconvert.c:77:
prev/photosyst_27.h:327:5: error: conflicting types for ‘getwwwstat’
327 | int getwwwstat(unsigned short, struct wwwstat_27 *);
| ^~~~~~~~~~
In file included from atopconvert.c:52:
photosyst.h:361:5: note: previous declaration of ‘getwwwstat’ was here
361 | int getwwwstat(unsigned short, struct wwwstat *);
| ^~~~~~~~~~
Signed-off-by: zhenwei pi <pizhenwei@bytedance.com>
M prev/photosyst_27.h
commit a2422e397af5ebbea1a03a36ec82e8bd77632b4a
Author: Fei Li <lifei.shirley@bytedance.com>
Date: Fri Jul 8 18:35:52 2022 +0800
supplement tcpsock and udpsock memory consumption
In some production cases, tcp socket consumes lots of memory, which
has no intersection with the statistics in /proc/meminfo file.
Considering the current code does not collect and record the tcpsock
or udpsock statistics reported via /proc/net/sockstat, supplement
the following two to help locate memory consumption issues:
- tcpsock, number of pages allocated by TCP sockets
- udpsock, number of pages allocated by UDP sockets
Signed-off-by: Fei Li <lifei.shirley@bytedance.com>
M deviate.c
M man/atop.1
M parseable.c
M photosyst.c
M photosyst.h
M showlinux.c
M showlinux.h
M showsys.c
commit d9e0e6a703f152e3e17195afb227596d9983ca4e
Merge: f2e7051 bc84472
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Sat Jul 9 12:25:29 2022 +0200
Merge pull request #196 from pizhenwei/fix-man-disk-busy
Fix disk busy in man page
commit f2e7051a50ed116a1cd35d0e3e2b268cb3472d9e
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Sat Jul 9 12:10:39 2022 +0200
Store PID width in header of raw log
Register the number of positions for PID and TID numbers on the
measured system in the raw log. In this way, the viewing of the
raw log on another system will use the proper column width for PID/TID.
M atop.c
M atop.h
M rawlog.c
M rawlog.h
M showlinux.c
M various.c
commit c9fea4e3d55b589ec202fb651f461c7acffb8fc0
Author: Fei Li <lifei.shirley@bytedance.com>
Date: Fri Jun 10 15:06:21 2022 +0800
showhdrline: fix OOB access when COLS is too small
- How to reproduce:
Drag the window to the far right, a "Segmentation fault (core dumped)"
message occurs.
- Debug:
Add some print values, saying COLS=2, thus maxw.
After getspacings(), elemptr becomes a NULL array again: maxw is too
small, so after nitems times of memmove(), newelems is NULL.
Then back to showhdrline(), as each curelem.f is zero, no chead is
assigned to buf and col is still zero. However, after the calculation:
allign=COLS-col-pagindiclen;//align=2-0-4=-2 < 0, previous code jumps
to sprintf(buf+col+allign, "%s", pagindic), which triggers
out-of-bounds access as col+allign = -2 < 0.
- Fix:
Fix this by judging if (col+allign >= 0) before jumping to avoid the
OOB access.
Reported-by: Qi Zheng <zhengqi.arch@bytedance.com>
Signed-off-by: Fei Li <lifei.shirley@bytedance.com>
M showprocs.c
commit bc84472f20c9d8c101901b5b32f04168a596af27
Author: zhenwei pi <pizhenwei@bytedance.com>
Date: Mon May 16 08:59:37 2022 +0800
Fix disk busy in man page
Reference source code from Linux:
https://github.com/torvalds/linux/blob/master/block/blk-core.c
void update_io_ticks(struct block_device *part, unsigned long now, bool end)
{
unsigned long stamp;
again:
stamp = READ_ONCE(part->bd_stamp);
if (unlikely(time_after(now, stamp))) {
if (likely(cmpxchg(&part->bd_stamp, stamp, now) == stamp))
__part_stat_add(part, io_ticks, end ? now - stamp : 1);
}
if (part->bd_partno) {
part = bdev_whole(part);
goto again;
}
}
The io_ticks field records the elapsed time during which I/O requests
were issued to the device. From this design, one or more I/O requests
may occurs in the same tick, so this number does not reflect the
performance limits of mordern SSD/NVMe.
atop reads this counter and calculates the percentage, fix the man
page to introduce this.
Signed-off-by: zhenwei pi <pizhenwei@bytedance.com>
M man/atop.1
commit b9d7533ef536cd07683680786c1bcf9c4e6bd9d4
Merge: f5da8d3 ed4fd0f
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Sat May 14 11:04:33 2022 +0200
Merge pull request #195 from pizhenwei/move-run_in_guest-into-various
Move run_in_guest into various.c
commit f5da8d31e7346a7873fe0748cdf136942c64bce3
Merge: 98a82fd 591bf96
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Sat May 7 12:47:16 2022 +0200
Merge branch 'blockdelay'
commit 591bf964db4da7d66ffd4a2920fcb1dcf5d06436
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Sat May 7 12:45:58 2022 +0200
Add block I/O delay to processes/threads
M deviate.c
M man/atop.1
M parseable.c
M photoproc.c
M photoproc.h
M showlinux.c
M showlinux.h
M showprocs.c
commit ed4fd0feab628fef20e6c08f3722fdb0dfbe3c4f
Author: zhenwei pi <pizhenwei@bytedance.com>
Date: Mon Apr 18 18:36:42 2022 +0800
Move run_in_guest into various.c
run_in_guest tries to detect hypervisor, it works as a helper
function. So move this into various.c.
Signed-off-by: zhenwei pi <pizhenwei@bytedance.com>
M atop.h
M photosyst.c
M various.c
commit 98a82fdc2258a3bb67ff6dc1dd189b81683837a1
Merge: b90e41f 9cfeb90
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Sat Apr 9 12:28:32 2022 +0200
Merge branch 'pizhenwei-pgintout'
commit 9cfeb9096a45c21fd5e5e5791ff2a21e2fbe86d7
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Sat Apr 9 12:28:02 2022 +0200
Minor changes to text, column priority and coloring
M man/atop.1
M showlinux.c
M showsys.c
commit b0d07a04298d5dec969b174e3396f1a93cb6fc86
Author: zhenwei pi <pizhenwei@bytedance.com>
Date: Sun Mar 20 20:11:22 2022 +0800
Support pgin & pgout
Collect pgint & pgout from /proc/vmstat. This counter is provided by
linux block layer, it represents the total number of memory read from/
written to all the block devices.
Signed-off-by: zhenwei pi <pizhenwei@bytedance.com>
M deviate.c
M man/atop.1
M parseable.c
M photosyst.c
M photosyst.h
M showlinux.c
M showlinux.h
M showsys.c
commit b90e41f541f122b6521f476200e6b97657add417
Merge: bfd2537 52676b9
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Sat Mar 12 11:37:47 2022 +0100
Merge pull request #192 from pizhenwei/fix-compiling-errors
Fix compiling warnings
commit bfd2537d8282f79685a742c4b40779c2839d6974
Merge: a038796 31b632b
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Sat Mar 12 11:30:38 2022 +0100
Merge pull request #193 from 7h3w1zz/man-typo
Fix typo in man page
commit a038796ec877e098c1ba265f3782386257bf6421
Merge: 5df2c9a 3bcfce3
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Sat Mar 12 11:24:59 2022 +0100
Merge branch 'bytedance-calibrate-process-nthr'
commit 3bcfce3e9dd747d628645b04dc39f9d1fac9b708
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Sat Mar 12 11:24:34 2022 +0100
Correction on calibration (one too many)
M photoproc.c
commit 1876fd3474563b71a62b4f0e672f4b3ebd0d9def
Merge: 5df2c9a bdadf39
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Sat Mar 12 10:59:58 2022 +0100
Merge branch 'calibrate-process-nthr' of https://github.com/bytedance/atop into bytedance-calibrate-process-nthr
commit 5df2c9ae74a57312f2d0da245a58d1a0c84704d5
Merge: 3dfaa7f ced67a5
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Sat Mar 12 10:44:58 2022 +0100
Merge branch 'integerbeans-fix-vmwballoon-photosyst'
Accepting pull request #189 with modification to stay compatible.
commit ced67a5ec6f4a258f59e247a87425179b3ff015d
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Sat Mar 12 10:44:32 2022 +0100
Detect vmmemctl at two locations
M photosyst.c
commit 52676b93113120a8bd38425b439ccc517bcd406e
Author: zhenwei pi <pizhenwei@bytedance.com>
Date: Mon Mar 7 15:15:13 2022 +0800
Use dup2 instead of close+dup
Build atop on Ubuntu 20.04, gcc 9.3:
showgeneric.c:2843:11: warning: ignoring return value of ‘dup’, declared
with attribute warn_unused_result [-Wunused-result]
2843 | (void) dup(1);
Use dup2 instead of close+dup to avoid compiling warning, also use
fileno to avoid hard code:
fd 0 -> fileno(stdin)
fd 1 -> fileno(stdout)
Signed-off-by: zhenwei pi <pizhenwei@bytedance.com>
M atopcat.c
M atopsar.c
M showgeneric.c
commit afa269ba299da4b04fe651a9159d40d7f4bd2f02
Author: zhenwei pi <pizhenwei@bytedance.com>
Date: Mon Mar 7 14:41:01 2022 +0800
Fix compiling warning
Build atop on Ubuntu 20.04, gcc 9.3:
photosyst.c:79:17: warning: ‘%s’ directive output may be truncated writing
up to 255 bytes into a region of size 231 [-Wformat-truncation=]
79 | #define NUMADIR "/sys/devices/system/node"
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
photosyst.c:867:28: note: in expansion of macro ‘NUMADIR’
867 | snprintf(fn, sizeof fn, NUMADIR "/%s/meminfo", dentry->d_name);
| ^~~~~~~
photosyst.c:993:38: note: format string is defined here
993 | snprintf(fn, sizeof fn, NUMADIR "/node%d/cpumap", j);
Use larger buffer to avoid compiling warning.
Signed-off-by: zhenwei pi <pizhenwei@bytedance.com>
M photosyst.c
commit bdadf39b7a1062c69f0221250f10d5810402fbd6
Author: Fei Li <lifei.shirley@bytedance.com>
Date: Tue Feb 15 15:00:22 2022 +0800
Calibrate the value of nthr for each process
In current code, we firstly get one process's thread number by
reading "Threads:" from /proc/pid/status; then secondly load each
thread's info into devtstat->taskall by traversing each tid under
/proc/pid/task/. Here, information inconsistency occurs if some
processes frequently creates or deletes threads. For example:
$cat /proc/6/status |grep Threads; sleep 0.1; ls /proc/6/task/ | wc -l
Threads: 70
71
To fix this, calibrate the value of nthr after iterating each
process's threads: re-record the number of threads and assign
to each process's nthr again.
Signed-off-by: Fei Li <lifei.shirley@bytedance.com>
M photoproc.c
commit d83d56cd7e0f26b7495901ebc186cd71b75d0c9d
Author: integerbeans <w-gh@wmeyer.eu>
Date: Thu Feb 17 12:01:32 2022 +0100
photosyst.c: fixed path for vmmemctl
M photosyst.c
commit 31b632b6b9187cfa288796067849dee660afb756
Author: Jacob <38846015+7h3w1zz@users.noreply.github.com>
Date: Tue Feb 8 14:20:58 2022 -0500
Fix typo in man page
M man/atop.1
commit 3dfaa7fd985324bc05f47cc892166ecb0d866d94
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Sat Feb 5 12:32:08 2022 +0100
Added link
M README.md
commit d75775438afec328df6087e8fd5b537c9883bd30
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Tue Jan 25 17:02:42 2022 +0100
Only print current CPU frequency when supported by CPU architecture
M showsys.c
commit 09e8812ff705b8a2f4a46f22968c40ead7799781
Merge: 390fca3 31d4be0
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Sun Jan 16 16:42:10 2022 +0100
Merge pull request #184 from pizhenwei/llc-per-sec
Support per-second counter for LLC
commit 390fca31bc0fc3026f9f351b2a46b93782d908fd
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Sun Jan 16 16:41:30 2022 +0100
Lower priority of column 'numnode' in MEM line
M showlinux.c
commit 31d4be081c950e859c7c62524d8812dea782720d
Author: zhenwei pi <pizhenwei@bytedance.com>
Date: Fri Jan 14 15:02:18 2022 +0800
Support per-second counter for LLC
Signed-off-by: zhenwei pi <pizhenwei@bytedance.com>
M showsys.c
commit 69e61e071ce82933c2763bb5095caf3563da8080
Merge: 78b4193 060dd9f
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Wed Jan 12 17:21:28 2022 +0100
Merge branch 'pizhenwei-llc-monitor'
commit 060dd9fd2552f30319a999e3074b7fa00fb66c66
Merge: 78b4193 0dfcb19
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Wed Jan 12 17:21:09 2022 +0100
Fixed conflicts
commit 78b419310928251b86751330fe30a7e9daef8c43
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Wed Jan 12 17:01:35 2022 +0100
Reformat status line info in initial screen
M showgeneric.c
commit b155a541b93602053521796456ac8e957ff0fbec
Merge: 7cf3f3c eec27ce
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Wed Jan 12 16:45:49 2022 +0100
Merge branch 'pizhenwei-llc-monitor'
commit eec27cebf4de9631199c50b318973201f0637a0e
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Wed Jan 12 16:45:16 2022 +0100
Cosmetic changes
M deviate.c
M man/atop.1
M photosyst.c
M showgeneric.c
commit 0dfcb1996ac3f19663f6a38c30dc2ad92385db8d
Author: zhenwei pi <pizhenwei@bytedance.com>
Date: Wed Jan 12 15:13:33 2022 +0800
Add LLC in atop man page
Signed-off-by: zhenwei pi <pizhenwei@bytedance.com>
M man/atop.1
commit 48f32410caca06e0de8ea6066100550b683933c7
Author: zhenwei pi <pizhenwei@bytedance.com>
Date: Wed Dec 29 17:08:26 2021 +0800
Support LLC collection
Since 2017, Linux started to support resctrl which can be used to
control QoS of CPU cache and monitor LLC(last level cache).
End user can use on an Intel platform:
~# mount -t resctrl resctrl -o mba_MBps /sys/fs/resctrl
Or on a AMD platform:
~# mount -t resctrl resctrl -o cdp /sys/fs/resctrl
Then we can find several directories like:
/sys/fs/resctrl/mon_data/mon_L3_XX
These counters can be found in doc:
https://github.com/torvalds/linux/blob/master/Documentation/x86/resctrl.rst
On AMD Rome/Milan, there are several dies in a socket, and each die
uses it's own L3 cache. With this patch, we can distinguish memory
bandwidth of each die to know workload is balanced or not.
Or course, on a legacy platform, all the CPU cores share a single L3
cache in a socket, we can know the memory bandwidth and cache usage
of the full socket.
Test on AMD Milan(Zen3), atop shows:
LLC | tot 211.3G | loc 211.2G | LLC15 100% |
LLC | tot 185.0G | loc 308.1M | LLC00 100% |
LLC | tot 241.5M | loc 207.8M | LLC08 94% |
LLC | tot 130.1M | loc 94.5M | LLC05 20% |
LLC | tot 111.0M | loc 90.5M | LLC13 85% |
LLC | tot 117.1M | loc 83.0M | LLC03 11% |
LLC | tot 96.0M | loc 83.5M | LLC12 75% |
LLC | tot 106.6M | loc 56.1M | LLC01 42% |
LLC | tot 82.7M | loc 71.9M | LLC14 82% |
LLC | tot 80.8M | loc 69.0M | LLC11 82% |
LLC | tot 74.3M | loc 64.7M | LLC09 85% |
LLC | tot 70.8M | loc 59.2M | LLC10 77% |
LLC | tot 65.4M | loc 41.5M | LLC06 15% |
LLC | tot 50.5M | loc 28.1M | LLC07 16% |
LLC | tot 39.2M | loc 25.1M | LLC02 6% |
LLC | tot 38.7M | loc 20.8M | LLC04 4% |
Signed-off-by: zhenwei pi <pizhenwei@bytedance.com>
M atop.c
M atop.h
M deviate.c
M parseable.c
M photosyst.c
M photosyst.h
M showgeneric.c
M showgeneric.h
M showlinux.c
M showlinux.h
M showsys.c
commit 6180f2a8b10ed7dc0a7fe196fe5a70a4a73d48d4
Merge: 7cf3f3c c4437bc
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Tue Jan 11 16:03:40 2022 +0100
Merge branch 'llc-monitor' of https://github.com/pizhenwei/atop into pizhenwei-llc-monitor
commit 7cf3f3c6b68f1ec3073569ab1b4bd4365b6757bd
Merge: 1e4451b 57ff34f
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Tue Jan 11 14:10:48 2022 +0100
Merge pull request #183 from thesamesam/openrc-init
Add OpenRC init scripts (atop, atopacct)
commit 57ff34f028423f6b2a4bf6fbd0c4a1e98ad87dfc
Author: Sam James <sam@gentoo.org>
Date: Sun Jan 9 08:00:25 2022 +0000
Add OpenRC init scripts (atop, atopacct)
These have been used for some time in Gentoo but
should work fine on e.g. Alpine too (any distribution
using OpenRC).
Signed-off-by: Sam James <sam@gentoo.org>
A atop.rc.openrc
A atopacct.rc.openrc
commit 1e4451b66fdfadc9a1913db59a341f4039974398
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Sat Jan 8 13:07:20 2022 +0100
New version 2.7.1
M version.h
commit 115b355cb52eee4b11ce00e5b01decde37796e90
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Wed Jan 5 19:12:27 2022 +0100
Explicit type definition in atop.service (issue #180)
M atop.service
commit 9afc5ad3d714ea09f9ffdebd79b345fe223c7e20
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Wed Jan 5 18:54:21 2022 +0100
Correct disk stats in atopsar (issue #182)
A wrong disk report is shown with the -d/-l/-f flags.
When the kernel supports the discard counter per disk,
output lines are empty in the disk report.
When the kernel doesnot support the discard counter per disk,
output lines often show a negative value for for the average
access time (avserv).
M atopsar.c
commit c4437bc58b1c205204b785493f8d306d7bf9e660
Author: zhenwei pi <pizhenwei@bytedance.com>
Date: Wed Dec 29 17:08:26 2021 +0800
Support LLC collection
Since 2017, Linux started to support resctrl which can be used to
control QoS of CPU cache and monitor LLC(last level cache).
End user can use on an Intel platform:
~# mount -t resctrl resctrl -o mba_MBps /sys/fs/resctrl
Or on a AMD platform:
~# mount -t resctrl resctrl -o cdp /sys/fs/resctrl
Then we can find several directories like:
/sys/fs/resctrl/mon_data/mon_L3_XX
These counters can be found in doc:
https://github.com/torvalds/linux/blob/master/Documentation/x86/resctrl.rst
On AMD Rome/Milan, there are several dies in a socket, and each die
uses it's own L3 cache. With this patch, we can distinguish memory
bandwidth of each die to know workload is balanced or not.
Or course, on a legacy platform, all the CPU cores share a single L3
cache in a socket, we can know the memory bandwidth and cache usage
of the full socket.
Test on AMD Milan(Zen3), atop shows:
LLC | tot 211.3G | loc 211.2G | LLC15 100% |
LLC | tot 185.0G | loc 308.1M | LLC00 100% |
LLC | tot 241.5M | loc 207.8M | LLC08 94% |
LLC | tot 130.1M | loc 94.5M | LLC05 20% |
LLC | tot 111.0M | loc 90.5M | LLC13 85% |
LLC | tot 117.1M | loc 83.0M | LLC03 11% |
LLC | tot 96.0M | loc 83.5M | LLC12 75% |
LLC | tot 106.6M | loc 56.1M | LLC01 42% |
LLC | tot 82.7M | loc 71.9M | LLC14 82% |
LLC | tot 80.8M | loc 69.0M | LLC11 82% |
LLC | tot 74.3M | loc 64.7M | LLC09 85% |
LLC | tot 70.8M | loc 59.2M | LLC10 77% |
LLC | tot 65.4M | loc 41.5M | LLC06 15% |
LLC | tot 50.5M | loc 28.1M | LLC07 16% |
LLC | tot 39.2M | loc 25.1M | LLC02 6% |
LLC | tot 38.7M | loc 20.8M | LLC04 4% |
Signed-off-by: zhenwei pi <pizhenwei@bytedance.com>
M atop.c
M atop.h
M deviate.c
M parseable.c
M photosyst.c
M photosyst.h
M showgeneric.c
M showgeneric.h
M showlinux.c
M showlinux.h
M showsys.c
commit ffb30c62ad5a3e7844d3d9004c174af58eb3dc60
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Sat Jan 1 14:37:18 2022 +0100
Add information about service activation to README file
M README
commit fdf3526bd35c1a84dd11bb73110c1a1f4148e39d
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Fri Dec 31 11:25:13 2021 +0100
Add directory to .gitignore
M .gitignore
commit 5dbe750eca1e468694dc4d4d0d251a485f58ad74
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Fri Dec 31 11:25:04 2021 +0100
Clarify relation between atop/atopacctd in man page
M man/atop.1
commit 1b4f7d6d2e14e768f310fc6041c05c5dcc69cee7
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Fri Dec 31 11:24:00 2021 +0100
Added license info
M atopgpud
M netlink.c
commit a67368badc8b639f23268e636a1a3d8787ee90c5
Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl>
Date: Fri Dec 31 11:23:18 2021 +0100
Added generic license info to README #179
M README