Process systemd-logind constant 3-7%CPU usage, scanning camera and audio devices

After closing everything, I now see lipstick talking to the lipstick scanner and at about one 5th the period, connman. dbus-monitor. and journald really sucks. in comparison to rsyslogd.

journald gets loaded if something is spamming it.

You can try editing /etc/systemd/journald.conf and either playing with the rate limiter, or settting something like MaxLevelStore=warning so it drops less interesting messages. But then you also can’t see them in the logs…

In parallel I was sitting on a web proxy (haproxy), which does a fair bit of logging, watching rsyslog (so, web traffic, constant) not register. That machine, of course has a lot more cores :wink:

I’m wondering, though, wouldn’t journald be set to be very conservative as a default? I’ll have to ask @piggz. It might be that he ships with somewhat more noisy logging.

I cannot edit the original post any more, and I can only add three tags :slight_smile:

So I’ll add here that more or less the same happens on 4.4.0.64 / Xperia 10iii as well as my original 4.2 / Xperia 10DS.

All of the information above this post was collected on the 10ds with 4.2.

Thanks @nephros for the original report and all the additional info and discussion. I’ve created a report on our internal bug tracker, so have tagged this as “tracked”.

4 Likes

Good to know.

I have two ways to improve the exec() detail, one of which is a very K&R hodgepodge of chown+chmod, the other is this - but I suppose having udev depend on perl is not really feasible…

Although in synthetic performance (well, syscall count) benchmarks, perl is surprisingly lightweight, and does the job.

@Jolla: Has this issue been checked by Jolla, is there a solution ahead, which could be expected with a soon update?

2 Likes

@nephros - thank you for the bug report! In the last weeks/months I noticed a similar behaviour on my XA2 (4.5.0.24) which got worse until I found an Android app (Ö1) which was desperately trying to login - it was enabled to be started on boot (Settings => Apps => Allow background service to start on bootup)
Once I disabled this, my battery life went back to normal.
Systemd-logind is now at 2.1% CPU time when the display is on. I never did any traces …