Dopo aver rimosso la maggior parte dei servizi di cui non ho bisogno, sono necessari circa 28 secondi per l'avvio, scattare una foto e arrestare. Vorrei abbassarlo ancora di più, e ho fatto un systemd-analyze blame
e ottenuto quanto segue:
7.476s disableusb.service
1.736s keyboard-setup.service
958ms kbd.service
789ms systemd-fsck-root.service
737ms systemd-setup-dgram-qlen.service
722ms fake-hwclock.service
580ms kmod-static-nodes.service
565ms console-setup.service
534ms dev-mqueue.mount
518ms systemd-udev-trigger.service
498ms networking.service
489ms raspi-config.service
449ms hdparm.service
444ms systemd-journal-flush.service
376ms systemd-tmpfiles-setup.service
375ms dhcpcd.service
345ms systemd-logind.service
332ms ntp.service
317ms systemd-modules-load.service
281ms tmp.mount
272ms triggerhappy.service
269ms sys-kernel-debug.mount
265ms systemd-fsck@dev-mmcblk0p6.service
223ms rsyslog.service
221ms sys-kernel-config.mount
212ms systemd-tmpfiles-setup-dev.service
200ms systemd-remount-fs.service
198ms systemd-sysctl.service
184ms boot.mount
173ms systemd-random-seed.service
168ms rc-local.service
167ms user@1000.service
165ms var-log.mount
141ms udev-finish.service
130ms sys-fs-fuse-connections.mount
111ms systemd-user-sessions.service
94ms systemd-update-utmp.service
94ms alsa-restore.service
93ms systemd-update-utmp-runlevel.service
77ms systemd-udevd.service
55ms takepicture.service
disableusb.service
è mio e, diversamente da ciò che suggerisce il nome, fa anche altre cose. Dubito di poter migliorare il tempo lì.
Il mio sistema funziona senza testa, tramite seriale. Ho solo bisogno del networking via wifi (il wifi non si avvia perché disabilito l'alimentazione USB, ma a volte non lo disabilito, in modo che possa avviarsi).
Guardando questo elenco, vedo cose come: 1.736s keyboard-setup.service
e 958ms kbd.service
. Ci vogliono quasi 3 secondi. Ho bisogno di loro se non sto usando una tastiera? In caso contrario, come li disabilito?
Cos'altro posso disabilitare in sicurezza da qui?
Ok, c'è qualcosa di veramente strano che va qui. Ho disabilitato altri servizi, e ci vuole ancora così tanto tempo, solo che ora alcuni servizi che hanno impiegato meno tempo prima impiegano molto più tempo ...
7.468s disableusb.service
1.676s console-setup.service
768ms systemd-logind.service
768ms systemd-fsck-root.service
726ms systemd-setup-dgram-qlen.service
714ms fake-hwclock.service
689ms networking.service
530ms systemd-journal-flush.service
524ms systemd-udev-trigger.service
509ms dev-mqueue.mount
509ms ntp.service
508ms kmod-static-nodes.service
439ms dhcpcd.service
334ms systemd-random-seed.service
331ms hdparm.service
318ms systemd-modules-load.service
281ms systemd-tmpfiles-setup.service
279ms systemd-fsck@dev-mmcblk0p6.service
279ms rsyslog.service
269ms systemd-remount-fs.service
265ms sys-kernel-config.mount
254ms systemd-tmpfiles-setup-dev.service
250ms systemd-sysctl.service
238ms rc-local.service
234ms systemd-udevd.service
232ms sys-kernel-debug.mount
224ms user@1000.service
187ms tmp.mount
176ms sys-fs-fuse-connections.mount
175ms var-log.mount
133ms systemd-update-utmp.service
122ms systemd-update-utmp-runlevel.service
122ms systemd-user-sessions.service
119ms alsa-restore.service
91ms boot.mount
88ms udev-finish.service
76ms takepicture.service
File di servizio: (non ho idea del perché la sintassi del codice non funzioni)
[Unit]
Description=Disable USB power
Before=networking.service
After=local-fs.target
DefaultDependencies=no
[Service]
Type=oneshot
ExecStart=/sbin/usb_down
[Install]
Ecco la trama: http://www.eternal-lands.com/plot.svg
disableusb.service
. A proposito, puoi convert plog.svg plog.jpg
installare rapidamente il imagemagick
pacchetto /
systemd-analyze plot
e includi l'immagine qui (che dovrebbe produrre un bel grafico SVG che mostra i tempi e forse chiarirà le cose).