summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Wise <pabs3@bonedaddy.net>2021-10-01 07:32:49 +0800
committerPaul Wise <pabs3@bonedaddy.net>2021-10-01 07:37:15 +0800
commitdd4fcc71b1184264bed25fbc0ce7e2d758d8c396 (patch)
tree53c9133bb892b08d4924f0285976a5f3ea75fea6
parent68be5e5c83e7ce5c0f2177f78d75c54f9d6bbd86 (diff)
downloadiotop-dd4fcc71b1184264bed25fbc0ce7e2d758d8c396.tar.gz
Document the new kernel.task_delayacct sysctl requirement in Linux 5.14
Fixes: https://github.com/Tomas-M/iotop/issues/21 Reported-by: @ManuLinares Forwarded-by: Boian Bonev <bbonev@ipacct.com>
-rw-r--r--README3
-rw-r--r--iotop.83
-rw-r--r--iotop/data.py2
-rw-r--r--iotop/ui.py4
4 files changed, 8 insertions, 4 deletions
diff --git a/README b/README
index cf9e050..3f490ab 100644
--- a/README
+++ b/README
@@ -1,7 +1,8 @@
Iotop is a Python program with a top like UI used to show of behalf of which
process is the I/O going on. It requires Python >= 2.7 and a Linux kernel >=
2.6.20 with the CONFIG_TASK_DELAY_ACCT CONFIG_TASKSTATS,
-CONFIG_TASK_IO_ACCOUNTING and CONFIG_VM_EVENT_COUNTERS options on.
+CONFIG_TASK_IO_ACCOUNTING and CONFIG_VM_EVENT_COUNTERS build options on
+and for Linux kernels since 5.14, the kernel.task_delayacct sysctl enabled.
To run a local version of iotop:
diff --git a/iotop.8 b/iotop.8
index d054ec0..5a53424 100644
--- a/iotop.8
+++ b/iotop.8
@@ -9,7 +9,8 @@ iotop watches I/O usage information output by the Linux kernel (requires
2.6.20 or later) and displays a table of current I/O usage by processes
or threads on the system. At least the CONFIG_TASK_DELAY_ACCT,
CONFIG_TASK_IO_ACCOUNTING, CONFIG_TASKSTATS and CONFIG_VM_EVENT_COUNTERS
-options need to be enabled in your Linux kernel build configuration.
+options need to be enabled in your Linux kernel build configuration and
+since Linux kernel 5.14, the kernel.task_delayacct sysctl enabled.
.PP
iotop displays columns for the I/O bandwidth read and written by each
process/thread during the sampling period. It also displays the percentage
diff --git a/iotop/data.py b/iotop/data.py
index 3874974..e9c06be 100644
--- a/iotop/data.py
+++ b/iotop/data.py
@@ -60,7 +60,7 @@ if not ioaccounting or not vm_event_counters:
if not ioaccounting:
print(' - I/O accounting support ' \
'(CONFIG_TASKSTATS, CONFIG_TASK_DELAY_ACCT, ' \
- 'CONFIG_TASK_IO_ACCOUNTING)')
+ 'CONFIG_TASK_IO_ACCOUNTING, kernel.task_delayacct sysctl)')
if not vm_event_counters:
print(' - VM event counters (CONFIG_VM_EVENT_COUNTERS)')
sys.exit(1)
diff --git a/iotop/ui.py b/iotop/ui.py
index 9eb60c8..fa7e35b 100644
--- a/iotop/ui.py
+++ b/iotop/ui.py
@@ -494,7 +494,9 @@ class IOTopUI(object):
if Stats.has_blkio_delay_total:
status_msg = None
else:
- status_msg = ('CONFIG_TASK_DELAY_ACCT not enabled in kernel, '
+ status_msg = ('CONFIG_TASK_DELAY_ACCT '
+ 'and kernel.task_delayacct sysctl '
+ 'not enabled in kernel, '
'cannot determine SWAPIN and IO %')
help_lines = []