Disable the Linux kernel watchdog

journalctl -b | grep watchdog; sudo dmesg | grep watchdog

Both commands return something like

NMI watchdog: Enabled. Permanently consumes one hw-PMU counter.

I have no use for this watchdog on a desktop computer.

This link already contains all the information required to disable it, but here's the multiple overkill list again:

  • Add nowatchdog and/or nmi_watchdog=0 to your kernel command line (info).

  • Additionally blacklist these modules by creating a /etc/modprobe.d/*.conf file:

    blacklist iTCO_wdt
    blacklist iTCO_vendor_support

    (this can also be added to the kernel command line in the form of modprobe.blacklist=...)

  • Additionally edit/create a file like this: echo 'kernel.nmi_watchdog=0' >>/etc/sysctl.d/00-nowatchdog.conf (apparently has the same effect as the kernel command line nmi_watchdog=0?)

  • Lastly, make sure none of the /{etc,usr/lib}/systemd/*.conf files contain anything that might re-enable a kernel watchdog, esp. system.conf. Please refer to man systemd-system.conf (I'm far from fully understanding that man page but AFAICS, if all values are commented out, i.e. at their defaults, you should be fine).
    Note that systemd also uses its own watchdog, which has nothing to do with this topic, and should remain enabled.

After a reboot journalctl -b | grep watchdog and dmesg | grep watchdog should only contain the kernel command line entries, the output shown above should be gone.

If it still isn't, you can refer to this discussion and kernel documentation.