[systemd-devel] Help needed for optimizing my boot time
Francis Moreau
francis.moro at gmail.com
Thu Jun 11 07:54:40 PDT 2015
On 06/11/2015 01:40 PM, Andrei Borzenkov wrote:
> On Thu, Jun 11, 2015 at 2:26 PM, Francis Moreau <francis.moro at gmail.com> wrote:
>>>>
>>>> $ systemd-analyze critical-chain
>>>>
>>>> graphical.target @7.921s
>>>> multi-user.target @7.921s
>>>> autofs.service @7.787s +132ms
>>>> network-online.target @7.786s
>>>> network.target @7.786s
>>>> NetworkManager.service @675ms +184ms
>>>> basic.target @674ms
>>>> ...
>>>>
> ...
>>> Is NetworkManager-wait-online.service enabled and active?
>>>
>>
>> It seems it's enabled but no more active:
>>
>> $ systemctl status NetworkManager-wait-online.service
>> ● NetworkManager-wait-online.service - Network Manager Wait Online
>> Loaded: loaded
>> (/usr/lib/systemd/system/NetworkManager-wait-online.service; disabled;
>> vendor preset: disabled)
>> Active: inactive (dead) since Thu 2015-06-11 11:54:37 CEST; 1h 4min ago
>> Process: 583 ExecStart=/usr/bin/nm-online -s -q --timeout=30
>> (code=exited, status=0/SUCCESS)
>> Main PID: 583 (code=exited, status=0/SUCCESS)
>>
>> Jun 11 11:54:30 cyclone systemd[1]: Starting Network Manager Wait Online...
>> Jun 11 11:54:37 cyclone systemd[1]: Started Network Manager Wait Online.
>>
>> This seems correct to me, doesn't it ?
>>
>
> Actually it says "disabled" which makes me wonder why it run. But this
> is the service that is likely responsible for long time you observe.
> If disabling it does ot help, you can try masking it (systemctl mask)
> for a test.
>
Masking this service helps:
$ systemd-analyze
Startup finished in 3.323s (firmware) + 6.795s (loader) + 8.342s
(kernel) + 1.470s (userspace) = 19.932s
$ systemd-analyze critical-chain
The time after the unit is active or started is printed after the "@"
character.
The time the unit takes to start is printed after the "+" character.
graphical.target @1.470s
multi-user.target @1.470s
autofs.service @1.024s +445ms
network-online.target @1.023s
network.target @1.021s
NetworkManager.service @731ms +289ms
basic.target @731ms
and the system seems to run fine (specially autofs, ntpd).
But I think the time given by systemd-analyze (1.470s) is not correct.
When booting I can see that the userspace is doing a fsck on root which
takes more than 2s. And the login screen takes at least 5s to appear
once the fsck is starting.
Is the time spent in initrd is included in userspace ?
Thanks
More information about the systemd-devel
mailing list