1

I am dealing with a Dell Optiplex 9020 All-In-One from 2012, equipped with a SATA-interfaced HDD just as old, 12 GB of RAM, no GPU, and a touch-enabled monitor. I am running Pop!_OS 22.04 on it, with systemd as my init system and KDE as my desktop environment.

Boot times are really slow, and opening applications immediately after boot is slow as well.

➜  ~ sudo systemd-analyze
Startup finished in 12.022s (kernel) + 1min 6.588s (userspace) = 1min 18.610s 
graphical.target reached after 1min 5.830s in userspace

Outputs of journalctl -b, systemd-analyze blame, and systemd-analze critical-chain are here

I suspected the reason for this was the old spinning hard drive and ran various diagnostic tests. SMART told me the drive is in perfect health, and Dell's BIOS diagnostics concurred.

Is it a fixable issue with the boot process, or do I go ahead and replace the drive?


2
  • If I look at your critical chain, about 40 seconds is added by the network (NetworkManager.service +17.258s, NetworkManager-wait-online.service +17.819s and network-online.target +4.626s). They're not likely to be faster when you plug-in a faster drive. Commented Dec 24, 2022 at 11:47
  • Do not know POP, but it may have some of these settings to improved boot time. askubuntu.com/questions/1284302/… You will not have the grub settings if using default systemD boot.
    – oldfred
    Commented Dec 24, 2022 at 16:41

1 Answer 1

1

You have memory errors reported by MTRR (Memory Type Range Registers) in your boot messages.

Your Dell Optiplex 9020 has a critical BIOS update for memory issues, are you using Bios A25?
If not, first install it.

Reboot and look for this error:

pop-os kernel: mtrr_cleanup: can not find optimal value
pop-os kernel: please specify mtrr_gran_size/mtrr_chunk_size

If you find it, you will need to manually select your ranges. It produced a chart of possible options, including several that are marked BAD. I scanned the list for the smallest loss:

gran_size: 8M         chunk_size: 64M        num_reg: 9          lose cover RAM: 6M
gran_size: 8M         chunk_size: 128M       num_reg: 9          lose cover RAM: 6M
gran_size: 8M         chunk_size: 256M       num_reg: 9          lose cover RAM: 6M
gran_size: 8M         chunk_size: 512M       num_reg: 9          lose cover RAM: 6M
gran_size: 8M         chunk_size: 1G         num_reg: 9          lose cover RAM: 6M
gran_size: 8M         chunk_size: 2G         num_reg: 10         lose cover RAM: 6M

Pick one of the gran_size and chunk_size, then add to your kernel line in whatever boot system you are using (grub usually.)

enable_mtrr_cleanup mtrr_spare_reg_nr=1 mtrr_gran_size=8M mtrr_chunk_size=128M

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .