After upgrade from Ubuntu 16 to 18.04, systemd-udevd uses 100% CPU
Since I upgraded from Ubuntu 16 to 18.04, CPU usage is high. Sometimes 100% cpu usage, and when that happens we can't do anything. If we check on the process systemd-udevd
, we find it is using 100% CPU. I have followed an answer to this question: Ubuntu 18.04 systemd-udevd uses high CPU, conflict with nvidia graphics but now I can't use any browser.
I ran the command sudo mv /lib/udev/rules.d/71-nvidia.rules ~
and now I can't install a new browser or use the old one, and I still have this 100% CPU issue.
Here's a detailed list of my system hardware
Note: I have installed Mint 19 version and found the same issue. I just downgraded to Mint 18.3 and CPU and memory usage are fine. Many others also reported the same issue.
I also faced the same issue after upgrade on my DELL laptop.
My workaround
Soon after booting, stopping and starting systed-udev
eliminates all bind and unbind problems and response drastically improves. I used the following two commands in sequence:
sudo systemctl stop systemd-udevd systemd-udevd-kernel.socket systemd-udevd-control.socket
sudo systemctl start systemd-udevd systemd-udevd-kernel.socket systemd-udevd-control.socket
My understanding
Before all hardware is discovered properly, bind/unbind starts executing when no procedures are available and does not get reinitialized. After stopping and starting, it gets all the procedures in place. Probably, this is a boot sequence problem.
laptop Dell vostro 3300
:~$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=18.10
DISTRIB_CODENAME=cosmic
DISTRIB_DESCRIPTION="Ubuntu 18.10"
:~$ lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 4
On-line CPU(s) list: 0-3
Thread(s) per core: 2
Core(s) per socket: 2
Socket(s): 1
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 37
Model name: Intel(R) Core(TM) i5 CPU M 430 @ 2.27GHz
Stepping: 2
CPU MHz: 1570.403
CPU max MHz: 2262,0000
CPU min MHz: 1197,0000
BogoMIPS: 4521.91
Virtualization: VT-x
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 3072K
NUMA node0 CPU(s): 0-3
create file in /etc/init.d/
sudo nano /etc/init.d/systemd-udevd-solv.sh
paste -->
#!/bin/sh
case "$1" in
start)
sleep 5
systemctl stop systemd-udevd systemd-udevd-kernel.socket systemd-udevd-control.socket
sleep 5
systemctl start systemd-udevd systemd-udevd-kernel.socket systemd-udevd-control.socket
esac
ctrl + x to save file and confirm exit
change permission
sudo chmod a+x /etc/init.d/systemd-udevd-solv.sh
enable script to run at startup
cd /etc/rc3.d
ln -s ../init.d/systemd-udevd-solv.sh S06systemd-udevd-solv