I suspect I have same issue, I noticed that my battery life got worse suddenly, and crest showed systemd-logind
and systemd-udevd
with 20-30% usage.
Investigating with htop shows CPU usage spiking periodically. With the screen off htop shows even 70+% prolonged usage for systemd-logind
during these spikes, with the screen on cpu usage spikes may appear, but these services do not always appear to be the cause.
Using trace, when screen is off, it can be seen that it spends lots of time doing open_at:
openat(19, "card0", O_RDONLY|O_LARGEFILE|O_NOFOLLOW|O_CLOEXEC|O_PATH) = 18
fstat64(18, {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0
close(19) = 0
...
% time seconds usecs/call calls errors syscall
------ ----------- ----------- --------- --------- ----------------
23.69 3.419493 76 44980 openat
20.49 2.957528 65 44980 close
19.98 2.883829 151780 19 epoll_wait
17.84 2.575281 62 40951 fstat64
3.98 0.573906 72 7891 read
3.73 0.538043 90 5965 readlinkat
2.98 0.429861 108 3966 access
1.99 0.286792 72 3968 getuid32
...
With the screen on, systemd-logind processes seems to spend all (or most) of their time in epoll_wait
, which might be expected (?):
% time seconds usecs/call calls errors syscall
------ ----------- ----------- --------- --------- ----------------
100.00 560.319002 56031900 10 epoll_wait
0.00 0.003293 109 30 clock_gettime
...
systemd-udevd appears to spend most of the time at epoll_wait
, regardless of screen being off:
% time seconds usecs/call calls errors syscall
------ ----------- ----------- --------- --------- ----------------
95.83 20.361790 27778 733 epoll_wait
0.98 0.207701 88 2347 clock_gettime
0.92 0.195842 709 276 close
% time seconds usecs/call calls errors syscall
------ ----------- ----------- --------- --------- ----------------
98.91 52.486729 133554 393 epoll_wait
0.26 0.137046 2141 64 clone
0.24 0.127409 101 1251 clock_gettime
....