File: README

package info (click to toggle)
atop 2.4.0-3
  • links: PTS, VCS
  • area: main
  • in suites: bullseye, buster, sid
  • size: 1,692 kB
  • sloc: ansic: 20,731; python: 253; sh: 220; makefile: 170
file content (72 lines) | stat: -rw-r--r-- 2,322 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
DEPENDENCIES

Install the following packages to be able to build atop:

* zlib-devel     or  libz-dev          (depending on the distribution)
* ncurses-devel  or  libncurses5-dev   (depending on the distribution)

Install the following packages to be able to run atop:

* zlib
* ncurses


INSTALLING AND USING ATOP

For interactive use, it is sufficient to install ATOP with the command
(as root):

	make systemdinstall

		or

	make sysvinstall

For automatic logging in compressed binary format, see the
description in the manual-page.

The kernel module 'netatop' can be downloaded and installed separately
from www.atoptool.nl/downloadnetatop.php
This module is optional and can be used to gather network statistics
per process/thread as described in www.atoptool.nl/netatop.php


KERNEL ISSUES WITH PROCESS ACCOUNTING
-------------------------------------

Newer upstream kernels (e.g. 4.8 and 4.9)have two issuess
with process accounting:

1) Sometimes process accounting does not work at allĀ¹. Atopacctd tries to
work around this issue, by retrying to initialize process accounting
several times.

2) When using the NETLINK inface, the command TASKSTATS_CMD_GET
consequently returns -EINVALĀ². Atopacctd needs NETLINK to be able to
be triggered that some process in the system has finished. In this way,
atopacctd can be in a blocking state as long as no processes terminate.
When atopacctd detects that NETLINK fails, it switches into a polling
mode to periodically try if it can read process accounting records as
a workaround. This issue has to do with cpumasks and you can work-around
it by building a kernel that has CONFIG_NR_CPUS configured to exactly
the amount of CPUs (logical CPUs) in the system the kernel runs on. You
can find this kernel option under "Processor type and features" -->
"Maximum number of CPUs".


[1] Bug 190271 - process accounting sometimes does not work
https://bugzilla.kernel.org/show_bug.cgi?id=190271

[2] Bug 190711 - Process accounting: Using the NETLINK interface,
the command TASKSTATS_CMD_GET returns -EINVAL
https://bugzilla.kernel.org/show_bug.cgi?id=190711

Linux kernel mailing list thread:

[REGRESSION] Two issues that prevent process accounting (taskstats) from
working correctly
https://lkml.org/lkml/2016/12/19/182


Gerlof Langeveld
gerlof.langeveld@atoptool.nl