スタートスピードを上げたいです。systemd-analyze critical-chain
出力を確認しました。
graphical.target @13.691s
└─multi-user.target @13.691s
└─cups-browsed.service @13.690s
└─org.cups.cupsd.service @13.419s +269ms
└─network.target @13.412s
└─[email protected] @5.850s +7.561s
└─basic.target @5.838s
└─sockets.target @5.838s
└─avahi-daemon.socket @5.838s
└─sysinit.target @5.837s
└─systemd-update-done.service @5.828s +8ms
└─ldconfig.service @5.183s +643ms
└─local-fs.target @5.180s
└─run-mount-extra.mount @3.333s +1.846s
└─systemd-fsck@dev-disk-by\x2duuid-abd2e996\x2db30b\x2d4e55\x2db52e\x2dccd74242221a.service @1.650s +1.680s
└─local-fs-pre.target @1.649s
└─lvm2-monitor.service @216ms +1.432s
└─lvm2-lvmetad.service @235ms
└─systemd-journald.socket @207ms
└─-.mount @181ms
└─systemd-journald.socket @207ms
└─...
[email protected]
7秒かかります。しかし、実際には、起動後最初の数秒間はネットワークは必要なく、WMが起動してから数秒待つことができます。これを可能にするには何を変えるべきですか?
ベストアンサー1
まず、どのターゲットでリリースするかを決定することをお勧めします。
systemctl list-units --type target
systemctl get-default
どのターゲットで発射を試すことができますか?
それなら私が一番したいことは障害を負う開始段階で不要なサービスとスタート@rebootに合格しました。予約されたこと。
仮想マシンの簡単な例を見てみましょう。
# systemctl status iptables | grep disabled
Loaded: loaded (/usr/lib/systemd/system/iptables.service; disabled; vendor preset: disabled)
# systemctl status ip6tables | grep disabled
Loaded: loaded (/usr/lib/systemd/system/ip6tables.service; disabled; vendor preset: disabled)
# crontab -l
@reboot systemctl restart iptables
@reboot systemctl restart ip6tables
ただし、systemdはサービスの依存関係をサポートしているため、コアサービスを無効にするとシステムが正しい方法で起動しなくなる可能性があるため、注意してください。