Question: I'm trying to use `iotop` to determine whether the CPUs are waiting on I/O at any point for a specific program called `bwa` (it's a next-generation sequence alignment program). If I start `iotop` without specifying a specific process (`-p *pid*`), I get all of the expected information, including `SWAPIN` and `IO>`, but the process I'm interested in doesn't show up on the list. If I then specify the process I'm interested in, `iotop` complains that "CONFIG\_TASK\_DELAY\_ACCT not enabled in kernel". For sanity, I verified in my kernel config file (`/boot/config-3.7.10-1.11-desktop`) that `CONFIG_TASK_DELAY_ACCT` is enabled (`CONFIG_TASK_DELAY_ACCT=y`).

The questions: 

1. What could make `iotop` think `CONFIG_TASK_DELAY_ACCT` is not enabled for a specific process when I know it is?
2. Can I fix it?
3. Have I overlooked something silly?

Answer: 
[Brock's Blog](http://blog.brocktice.com/2012/05/23/delayacct-and-iotop-in-ubuntu-10-04-lucid-lynx) describes how you can do that with Ubuntu:

1. Edit `/etc/default/grub`, adding “delayacct” as an option to the GRUB\_CMDLINE\_LINUX\_DEFAULT entry. If you hadn’t already modified that line, it would go from

```
GRUB_CMDLINE_LINUX_DEFAULT=""

```

to

```
GRUB_CMDLINE_LINUX_DEFAULT="delayacct"

```
2. Run “sudo update-grub”
3. Reboot, and you should be good to go
An update:

From [delay accounting kernel documentation](https://www.kernel.org/doc/html/latest/accounting/delay-accounting.html#usage):

> 
> Delay accounting is disabled by default at boot up. To enable, add:
> 
> 
> 
> ```
> delayacct
> 
> ```
> 
> to the kernel boot options. Alternatively, use `sysctl kernel.task_delayacct` to switch the state at runtime. Note however that only tasks started after enabling it will have `delayacct` information.
> 
> 
> 

Form [`iotop-c` man page](https://www.mankier.com/8/iotop-c):

> 
> Starting with Linux kernel 5.14.x `task_delayacct` is configurable at runtime and set to off by default. This setting can be changed in interactive mode by the Ctrl-T shortcut. In batch mode a warning is printed when the setting is OFF. From the command line this can be enabled by:
> 
> 
> **$ sudo sysctl kernel.task\_delayacct=1**
> 
> 
> and disabled again by:
> 
> 
> **$ sudo sysctl kernel.task\_delayacct=0**
> 
> 
> It is advisable to keep this option off when not using this or another monitoring program because when enabled it has some effect on system performance.
> 
> 
>