I was trying to use iotop yesterday on my workstation and it was complaining that “CONFIG_TASK_DELAY_ACCT” was not enabled in the kernel. “OK,” I thought, “I can rebuild the kernel, no problem.” So I went to rebuild the kernel and discovered that CONFIG_TASK_DELAY_ACCT was already enabled along with the associated config options needed for iotop, so I was confused.
After a little spelunking of old mailing list entries (which I am trying to spare you with this post, dear reader), I discovered that the Ubuntu folks flipped around how the “nodelayacct” kernel boot parameter works for various arcane reasons. Here’s the short version of how to enable it.
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