Hi Peter, > > > Processor : Intel(R) Pentium(R) CPU G3420 @ 3.20GHz > > > Memory : 8037MB (4978MB used)
As you say, only two, non-HyperThreaded, cores, but plenty of RAM spare. > > > $ systemd-analyze blame > > > 3min 12.427s apt-daily.service > > > 43.818s man-db.service > > > 29.566s udisks2.service > > > 28.056s mpd.service > > > 23.120s networkd-dispatcher.service > > > 20.561s fwupd-refresh.service > > > 17.882s snapd.service Are your main filesystems on a rusty hard drive rather than an SSD? I'm guessing there are multiple concurrent programs fighting over the I/O they require and causing the hard drive to spend its time seeking back and forth, with a little reading and writing in between. > $ systemd-analyze critical-chain > > The time when unit became active or started is printed after the "@" > character. > The time the unit took to start is printed after the "+" character. > > graphical.target @54.613s > └─multi-user.target @54.613s > └─mpd.service @32.239s +22.372s That says mpd.service, the Music Player Daemon, took 22 seconds to run. Perhaps the mpd server is indexing your music collection on start-up. Rather than have mpd start at boot, you can have it start when first needed. This is detected by a client program attempting to contact it on its socket. https://wiki.archlinux.org/index.php/Music_Player_Daemon#Socket_activation To configure it in that way, run sudo -i systemctl disable --now mpd.service sudo -i systemctl enable --now mpd.socket mpd.service should no longer appear in ‘systemd-analyze blame’ output after the next boot. ‘blame’ above also has > > > 43.818s man-db.service That's indexing the man pages on your system. Again, something that generally need not happen on boot. It's scheduled by man-db.timer; see ‘systemctl cat man-db.timer’. ‘systemctl list-timers’ in a wide terminal should show man-db.timer, when it last ran, and when it's next scheduled. I've altered that here to run at a set time when I know the PC is likely to be on and fairly idle. ‘sudo -i systemctl edit man-db.timer’ puts me in an editor with an empty file where I add the lines [Timer] OnCalender= OnCalendar=20:02 Persistent=no Alter ‘20:02’ to suit. The ‘Persistent=no’ stops systemd running the timer at boot when it spots it missed a scheduled run during down-time. Instead, it will wait for the next scheduled time. Repeating the ‘systemctl cat man-db.timer’ above should show an ‘override.conf’ with your new lines, and ‘systemctl list-timers’ a new ‘next run’ time. -- Cheers, Ralph. -- Next meeting: Online, Jitsi, Tuesday, 2020-09-01 20:00 Check to whom you are replying Meetings, mailing list, IRC, ... http://dorset.lug.org.uk New thread, don't hijack: mailto:dorset@mailman.lug.org.uk