Graphical.target reached after 23.44s .how can i solve this problem?

I have recently install manjaro 20.1.2. graphical.target reached after 23.44s …how can i solve this problem?
System analyze:

Startup finished in 4.376s (kernel) + 24.102s (userspace) = 28.478s
graphical.target reached after 23.443s in userspace

Please check systemd-analyze blame and systemd-analyze critical-chain as well.

Thank you for you reply.
Here is the result 
 
graphical.target @20.080s
└─multi-user.target @20.079s
  └─snapd.service @13.095s +6.983s
    └─basic.target @13.044s
      └─sockets.target @13.044s
        └─snapd.socket @13.041s +2ms
          └─sysinit.target @12.851s
            └─systemd-update-utmp.service @12.798s +52ms
          └─systemd-tmpfiles-setup.service @12.436s +359ms
            └─local-fs.target @12.433s
              └─tmp.mount @12.425s +7ms
                └─swap.target @12.423s
                  └─dev-disk-by\x2duuid-83b3bcfe\x2dc92c\x2d412c\x2d9a62\x2>
                    └─dev-disk-by\x2duuid-83b3bcfe\x2dc92c\x2d412c\x2d9a62\>

lines 1-17/17 (END)
result of `systemd-analyze blame
8.079s dev-sda1.device
6.983s snapd.service
5.386s upower.service
4.284s apparmor.service
3.992s polkit.service
3.483s NetworkManager.service
2.546s avahi-daemon.service
2.412s systemd-udevd.service
2.324s systemd-logind.service
2.039s ModemManager.service
1.982s udisks2.service
1.902s bluetooth.service
1.884s ufw.service
1.668s systemd-journal-flush.service
1.442s systemd-journald.service
1.105s accounts-daemon.service
823ms colord.service
745ms systemd-tmpfiles-setup-dev.service
700ms tlp.service
684ms systemd-rfkill.service
666ms systemd-backlight@backlight:acpi_video0.service
591ms systemd-random-seed.service
551ms user@1000.service

Your disk itself takes the longest at 8 seconds.

Then Snap:

6.983s snapd.service

You need upower I would guess.

Apparmor is up to you:

4.284s apparmor.service

You probably need polkit and NM and avahi …

But I dont know if you need modemmanager:

2.039s ModemManager.service

Then of course theres the bluetooth and firewall which are also user choice if needed:

1.902s bluetooth.service
1.884s ufw.service

… so if it were mine … it looks like I could shave 17 seconds off just looking at the first entries.
But it all depends on what you need for your system.

1 Like

@cscs I am new to Linux. Can i remove snapd.service and how can i do it.

See here:
https://wiki.manjaro.org/index.php/Snap

@cscs i remove snapd …but the speed seems not increased. By installing KDE version will the problem go away ?? or what should i do ?

Is it actually removed/disabled ? check your systemd-analyze again.
Changing DE’s wont help much … I already outlined the big services I would discard.

@cscs
9.935s NetworkManager-wait-online.service
8.434s dev-sda1.device
7.173s systemd-journal-flush.service
4.088s apparmor.service
3.760s polkit.service
3.440s upower.service
2.959s udisks2.service
2.263s systemd-udevd.service
1.700s NetworkManager.service
1.698s colord.service
1.660s avahi-daemon.service
1.588s accounts-daemon.service
1.575s systemd-journald.service
1.545s systemd-logind.service
1.498s ufw.service
1.469s systemd-tmpfiles-clean.service
1.335s ModemManager.service
1.174s ldconfig.service
1.118s systemd-sysusers.service
1.002s org.cups.cupsd.service
977ms systemd-random-seed.service
857ms bluetooth.service
843ms tlp.service

[asif@PC ~]$ sudo 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 @21.049s
└─multi-user.target @21.049s
└─ModemManager.service @19.712s +1.335s
└─polkit.service @15.949s +3.760s
└─basic.target @15.931s
└─sockets.target @15.931s
└─org.cups.cupsd.socket @15.931s
└─sysinit.target @15.856s
└─sys-fs-fuse-connections.mount @25.958s +11ms
└─systemd-modules-load.service @3.834s +822ms
└─systemd-journald.socket @3.698s
└─system.slice @3.589s
└─-.slice @3.589s

Disable and mask NetworkManager-wait-online.service

Sudo systemctl disable --now NetworkManager-wait-online.service

Sudo systemctl mask NetworkManager-wait-online.service

And disable ModemManager.service

Sudo systemctl disable --now ModemManager.service

It shows
bash: Sudo: command not found

It shouldnt be capitalized…

But you dont need it anyways:

systemctl disable --now NetworkManager-wait-online.service

(this will disable the service that waits for network connection before loading)

1 Like

Tnx for your help …It slightly increase the speed. I cause for other reason… Before opening window screen goes black and there is no welcome or loading page like windows is showing when the pc opens . What you thin about it?

Howdy!

Could you please provide me the output of udevadm info --attribute-walk -n /dev/sda1 | grep 'DRIVERS=="[^"]' , please?

Thank you!

Here is the output:
DRIVERS==“sd”
DRIVERS==“ahci”

Sweet!

Now its time to sudo nano /etc/mkinitcpio.conf !

Then find the line starting by MODULES=" , and remove everything between the quotation marks and add ahci sd_mod ext4 in between of the quotation mark.

Then find the line starting with BINARIES=" and clear everything (or add fsck fsck.ext4 if you want to check the disk quickly at startup)

Now find the line starting with HOOKS=" and remove everything except base .

After that go completely to the bottom, and add COMPRESSION="cat"

Ctrl+S to save, Ctrl+X to leave.

You may then execute sudo mkinitcpio -P , sudo update-grub and reboot!

It should be 10 to 40% faster (results may vary)!

1 Like

There is no `MODULES=" " and BINARIES=" " in the file

vim:set ft=sh

MODULES

The following modules are loaded before any boot hooks are

run. Advanced users may wish to specify all system modules

in this array. For instance:

MODULES=(piix ide_disk reiserfs)

MODULES=“ahci sd_mod ext4”

BINARIES

This setting includes any additional binaries a given user may

wish into the CPIO image. This is run last, so it may be used to

override the actual binaries included by a given hook

BINARIES are dependency parsed, so you may safely ignore libraries

BINARIES=()

FILES

This setting is similar to BINARIES above, however, files are added

as-is and are not parsed in any way. This is useful for config files.

FILES=""

Please use the content in parenthese, thank you!

The layout may depend on your shell!

There is no HOOKS and COMPRESSION

Please read carefully the instructions, thank you!

May add missing lines!